【转载博主麦兜搞IT
:http://blog.sina.com.cn/s/blog_4b5039210100ez54.html】
因为笔记主要是摘自《wxpython in action》,很多名词我怕翻译不准,就直接用英文原文来代替,就像今天的top-level window object 和subwindow object ,这里暂时叫顶层窗口对象和子窗口对象。
import wx
import sys
class Frame(wx.Frame):
class App(wx.App):
if __name__=='__main__':
print "after MainLoop"
运行结果,出现两个窗口,一个是wxpython的frame,另一个就是我们把标准输出重定向到了一个wxpython窗口
并且在命令行会出现下面的结果:
其中第一个是在frame产生前打印的,第二行是在我们关闭frame窗口后打印的。
从这个程序,我们基本能看出整个程序的运行顺序和步骤。
首先程序要运行的是建立应用类的实例app=App(redirect=True),然后就要进行这个子类的实现,而App是继承于wx..App,然后就自然要用到父类的__init__()方法,所以App__init__首先被打印出来,因为此时frame还没有产生,所以App__init__被打印在了命令行。然后进入OnInit方法,此时frame产生,然后就是Frame方法,然后进入MainLoop循环,结束以后,最后打印after MainLoop。
Top-level window object
wx.Frame(parent,id=-1,title='',pos=wx.DefaultPostion,size=wx.DefaultSize,
style=wx.DEFAULT_FRAME_STYLE,name='frame')
Parent:当前窗口的父窗口,如果当前窗口时top-level window的话,则parent=None,如果不是顶层窗口,则它的值为所属frame的名字
Id:一个新窗口的id,一般我们都设为-1,这样wxpython会自动产生一个id。
Title:窗口的标题,在标题栏上显示的内容
Pos:它的值是一个wx.Point的对象,是一个元组,表示了窗口创建时的位置坐标
Size:它的值是一个wx.Size的对象,也是一个元组,表示了窗口的大小。
Style:窗口的风格,窗口有多种风格,我们可以用(|)来组合想要的风格,下面就详细看一下。(熟悉MFC的朋友应该觉得很眼熟)
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
下面是几个实例:
默认的
无最大化最小化按钮,边界不能拖动