wxpython学习笔记(推荐查看)
一、简介
wxPython是Python编程语言的一个GUI工具箱。他使得Python程序员能够轻松的创建具有健壮、功能强大的图形用户界面的程序。它是Python语言对流行的wxWidgets跨平台GUI工具库的绑定。而wxWidgets是用C++语言写成的。和Python语言与wxWidgetsGUI工具库一样,wxPython是开源软件。这意味着任何人都可以免费地使用它并且可以查看和修改它的源代码,或者贡献补丁,增加功能。wxPython是跨平台的。这意味着同一个程序可以不经修改地在多种平台上运行。现今支持的平台有:32位微软Windows操作系统、大多数Unix或类Unix系统、苹果MacOSX。由于使用Python作为编程语言,wxPython编写简单、易于理解。
二、基本使用
基本使用的话到这个地址看已经很详细了,我没有必要重复一遍啦:
http://wiki.wxpython.org/Getting%20Started
三、常用控件
1.菜单(menu)
http://wiki.wxpython.org/Getting%20Started#head-33e6dc36df2a89db146142e9a97b6e36b956875f
2.页面布局(Sizer)
这个东东使用起来比较麻烦,参考以下页面吧:
http://wiki.wxpython.org/Getting%20Started#head-7455553d71be4fad208480dffd53b7c68da1a982
wxPythonframe的布局详细解释(一)
wxPythonframe的布局详细解释(二)
3.Tab页面(notebook)
http://wiki.wxpython.org/Getting%20Started#head-b20d2fc488722cdb3f6193150293d1e118734db8
4.列表控件(ListCtrl)
这个控件比较强大,是我比较喜欢使用的控件之一。在《wxPythonInAction》一书中第13章有介绍(想要该书电子版及附带源码的朋友可以问我要)
下面是list_report.py中提供的简单用法:
importwx importsys,glob,random importdata
classDemoFrame(wx.Frame): def__init__(self): wx.Frame.__init__(self,None,-1, "wx.ListCtrlinwx.LC_REPORTmode", size=(600,400))
il=wx.ImageList(16,16,True) fornameinglob.glob("smicon??.png"): bmp=wx.Bitmap(name,wx.BITMAP_TYPE_PNG) il_max=il.Add(bmp) self.list=wx.ListCtrl(self,-1,style=wx.LC_REPORT) self.list.AssignImageList(il,wx.IMAGE_LIST_SMALL)
#Addsomecolumns forcol,textinenumerate(data.columns): self.list.InsertColumn(col,text)
#addtherows foritemindata.rows: index=self.list.InsertStringItem(sys.maxint,item[0]) forcol,textinenumerate(item[1:]): self.list.SetStringItem(index,col+1,text)
#giveeachitemarandomimage img=random.randint(0,il_max) self.list.SetItemImage(index,img,img) #setthewidthofthecolumnsinvariousways self.list.SetColumnWidth(0,120) self.list.SetColumnWidth(1,wx.LIST_AUTOSIZE) self.list.SetColumnWidth(2,wx.LIST_AUTOSIZE) self.list.SetColumnWidth(3,wx.LIST_AUTOSIZE_USEHEADER)
app=wx.PySimpleApp() frame=DemoFrame() frame.Show() app.MainLoop()