Python下GUI编程自结

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()

效果图:

       Python下GUI编程自结_第1张图片

Remarks:在上面看到一些wx.func_**(parameter1,parameter2,...)的语句,都表示创建一个组件等等。其中中第一个参数指定的是父组件。如果没有,就设为None.

 

你可能感兴趣的:(Python下GUI编程自结)