1.Python的GUI工具包
目前,Python的GUI工具包有很多,但是没有一个被认为是标准的GUI工具包。Python的工具有:
——》wxPython
——》Tkinter
——》PythonWin
——》 PyGTK
——》PyQt
....
其中,wxPython工具包是一个很受欢迎的,它可以跨平台,同时也是Python之父Guido van Rossum最喜欢的工具包。下面都是以wxPython工具包为例来说明的。
2.下载和安装wxPython
使用wxPython工具来做Python GUI编程时,要首先下载和安装wxPython工具包。要下载wxPython,去下载页面http://wxpython.org/download.php即可。下载完了之后直接安装到默认的路径就好了。
3.利用wxPython工具包进行Python GUI编程的例子
#Gui_Mail_v3.0.pyw import wx #导入wx模块 #"打开"按钮的事件处理函数 def load(event): file = open(filename.GetValue()) contents.SetValue(file.read()) file.close() #"保存"按钮的事件处理函数 def save(event): file = open(filename.GetValue(),'w') file.write(contents.GetValue()) file.close() app = wx.App()#创建application win = wx.Frame(None,title = "记事本",size=(410,335))#创建窗口,也叫框架 bkg = wx.Panel(win)#创建基于win的面板 loadBtn = wx.Button(bkg,label="加载")#创建“加载”按钮 loadBtn.Bind(wx.EVT_BUTTON,load)#绑定事件源和事件处理函数 saveBtn = wx.Button(bkg,label="保存")#同上 saveBtn.Bind(wx.EVT_BUTTON,save)#同上 filename=wx.TextCtrl(bkg)#创建文本框 contents=wx.TextCtrl(bkg,style=wx.TE_MULTILINE | wx.HSCROLL)#同上 hbox = wx.BoxSizer()#创建尺寸器,也就类似于布局管理器 hbox.Add(filename,proportion=1, flag=wx.EXPAND)#添加组件 hbox.Add(loadBtn,proportion=0,flag=wx.LEFT,border=5)#同上 hbox.Add(saveBtn,proportion=0,flag=wx.LEFT,border=5)#同上 vbox = wx.BoxSizer(wx.VERTICAL)#创建尺寸器 vbox.Add(hbox,proportion=0,flag=wx.EXPAND | wx.ALL,border=5)#同上 vbox.Add(contents,proportion=1,flag=wx.EXPAND | wx.LEFT | wx.BOTTOM | wx.RIGHT,border=5)#同上 bkg.SetSizer(vbox)#为面板指定尺寸器 win.Show()#显示窗口 app.MainLoop()
效果图:
Remarks:在上面看到一些wx.func_**(parameter1,parameter2,...)的语句,都表示创建一个组件等等。其中中第一个参数指定的是父组件。如果没有,就设为None.