wxPython编程
来源:互联网 发布:数据采集卡报价 编辑:程序博客网 时间:2024/06/05 17:08
触发其他控件的事件
panel=self.GetChildren()[0]
for each in panel.GetChildren():
if each.GetLabel() == "mybutton":
finder=each
break
event=wx.CommandEvent(wx.wxEVT_COMMAND_BUTTON_CLICKED,
finder.GetId())
finder.GetEventHandler().ProcessEvent(event)
添加菜单栏
def menuData(self): return [("&File", (("&New", "New FIle", self.OnNew),("&Close", "Close FIle", self.OnClose)) ), ("&Option", (("&Set", "Set Help", self.OnNew),("&Add", "Add Help", self.OnClose)) ) ] def createMenuBar(self): menuBar = wx.MenuBar() for eachMenuData in self.menuData(): menuLabel = eachMenuData[0] menuItems = eachMenuData[1] menuBar.Append(self.createMenu(menuItems), menuLabel) self.SetMenuBar(menuBar) def createMenu(self, menuData): menu = wx.Menu() for eachItem in menuData: if len(eachItem) == 2: label = eachItem[0] subMenu = self.createMenu(eachItem[1]) menu.AppendMenu(wx.NewId(), label, subMenu) else: self.createMenuItem(menu,*eachItem) return menu def createMenuItem(self,menu,label,status,handler, kind=wx.ITEM_NORMAL): if not label: menu.AppendSeparator() return menuItem=menu.Append(-1,label,status,kind) self.Bind(wx.EVT_MENU, handler, menuItem) def OnNew(self,event): wx.MessageBox("OnNew") def OnClose(self,event): wx.MessageBox("OnClose")
制作程序启动界面
jpg=wx.Image("bk.jpg").ConvertToBitmap()
wx.SplashScreen(jpg,wx.SPLASH_CENTER_ON_SCREEN|wx.SPLASH_TIMEOUT,
2000,None,-1)
wx.Yield()
布局管理器
box布局
box=wx.BoxSizer(wx.HORIZONTAL)
box.Add(control1,1,wx.EXPAND)
box.Add(control2,2,wx.EXPAND)
self.SetSizer(box)
流式网格布局
sizer=wx.FlexGridSizer(cols=2,hgap=6,vgap=60)
sizer.AddMany([staticText,basicText,pwdLabel])
panel.SetSizer(sizer)
进度条
self.gauge=wx.Gauge(panel,-1,100,(0,0),(300,200))
self.gauge.SetBezelFace(3)
self.gauge.SetShadowWidth(3)
self.Bind(wx.EVT_IDLE, self.OnIdle)
运行wxpython自带的demo
把原有的
if __name__ == '__main__':
import sys,os
import run
run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])
替换成
class MyFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self,None,-1,"TestFrame",size=(500,400))
panel=TestPanel(self,None)
if __name__ == '__main__':
app=wx.PySimpleApp()
frame=MyFrame()
frame.Show()
app.MainLoop()
根据sizer自动设置初始窗口大小
fgs=wx.FlexGridSizer(cols=2,hgap=10,vgap=10)
p=wx.Panel(self)
p.SetSizerAndFit(fgs)
self.Fit()
使用剪切板
text_data=wx.TextDataObject("hello")
if wx.TheClipboard.Open():
wx.TheClipboard.SetData(text_data)
wx.TheClipboard.Flush()
wx.TheClipboard.Close()
- wxPython编程
- wxPython
- wxPython
- wxPython
- wxpython
- wxPython
- wxpython
- 使用WxPython进行Win32下Python编程
- wxpython编程之image(图片操作)
- python图形界面GUI编程之wxpython安装
- python图形界面GUI编程之wxpython布局
- python GUI编程——wxpython编写简单记事本程序
- 【转】使用WxPython进行Win32下Python编程
- wxpython编程示例:摇骰子程序,let's ROLL 6!!
- python的GUI编程--wxpython学习(三)两个布局
- wxPython Phoenix 和python3.4的编程学习
- wxPython之hello wxPython
- wxPython:关闭wxPython程序
- 打开Flash builder 提示无法创建java虚拟机 .
- GString结构
- GNU binutils 使用技巧
- storyboard app应用开发流程
- js判断flash是否安装及版本
- wxPython编程
- shell调试技术
- 性能测试模型分析
- jdk1.5新特性——可变参数、增强for循环、枚举
- 将visual studio 2010生成的可执行工程打包成安装软件
- 如何在程序中直接使用Spring的工具类
- 0.ring0-API拦截方法一:PE简介
- 边缘检测,素描算法
- C++与C#类型对应