按照前面的总结思路,我认为windows构件包括了下面的这些内容:
1、基础构件:
2、顶级组件:
3、容器:
在这些构件当中,最经常使用和最重要的当属wx.Frame和wx.Panel
1、wx.Frame:
写wxPython程序的基础部分是必须包含一个frame对象和application对象的实例。而在windows构件当中,wx.frame是最基本需要掌握的。
实例一个frame对象:
wx.Frame(parent, id=-1, title="", pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE, name="frame")
参数的说明如下:
parent:框架的父窗口。对于顶级窗口,这个值是None。框架随其父窗口的销毁而销毁。取决于平台,框架可被限制只出现在父窗口的顶部。在多文档界面的情况下,子窗口被限制为只能在父窗口中移动和缩放。
id:关于新窗口的wxPython ID号。你可以明确地传递一个。或传递-1,这将导致wxPython自动生成一个新的ID。
title:窗口的标题。
pos:一个wx.Point对象,它指定这个新窗口的左上角在屏幕中的位置。在图形用户界面程序中,通常(0,0)是显示器的左上角。这个默认的(-1,-1)将让系统决定窗口的位置。
size:一个wx.Size对象,它指定这个窗口的初始尺寸。这个默认的(-1,-1)将让系统决定窗口的初始尺寸。
style:指定窗口的类型的常量。你可以使用或运算来组合它们。
name:框架的内在的名字。以后你可以使用它来寻找这个窗口。
记住,这些参数将被传递给父类的构造器方法:wx.Frame.__init__()。
常用方法:
frame.Show(False) # 使框架不可见.
frame.Show(True) # True是默认值,使框架可见.
frame.Hide() # 等同于frame.Show(False)
Move(wx.Point point) move a window to the given position
MoveXY(int x, int y) move a window to the given position
SetPosition(wx.Point point) set the position of a window
SetDimensions(wx.Point point, wx.Size size) set the position and the size of a window
self.Centre()
CreateStatusBar(self, number, style, winid, name)
CreateToolBar(self, style, winid, name)
然后还有针对声明MenuBar、StatusBar、ToolBar的get和set方法,获得和设置一个Bar实例
用于wx.Frame的最重要的样式:
wx.CAPTION:在框架上增加一个标题栏,它显示该框架的标题属性。
wx.CLOSE_BOX:指示系统在框架的标题栏上显示一个关闭框,使用系统默认的位置和样式。
wx.DEFAULT_FRAME_STYLE:默认样式。
wx.FRAME_SHAPED:用这个样式创建的框架可以使用SetShape()方法去创建一个非矩形的窗口。
wx.FRAME_TOOL_WINDOW:通过给框架一个比正常更小的标题栏,使框架看起来像一个工具框窗口。
在Windows下,使用这个样式创建的框架不会出现在显示所有打开窗口的任务栏上。
wx.MAXIMIZE_BOX:指示系统在框架的标题栏上显示一个最大化框,使用系统默认的位置和样式。
wx.MINIMIZE_BOX:指示系统在框架的标题栏上显示一个最小化框,使用系统默认的位置和样式。
wx.RESIZE_BORDER:给框架增加一个可以改变尺寸的边框。
wx.SIMPLE_BORDER:没有装饰的边框。不能工作在所有平台上。
wx.SYSTEM_MENU:增加系统菜单(带有关闭、移动、改变尺寸等功能)和关闭框到这个窗口。
在系统菜单中的改变尺寸和关闭功能的有效性依赖于wx.MAXIMIZE_BOX, wx.MINIMIZE_BOX和wx.CLOSE_BOX样式是否被应用。
注意:如果你没有使用SetTopWindow()指定主顶级窗口,那么在wx.App的顶级窗口列表中的第一个框架将被认为是这个主顶级窗口
2、wx.Panel:
__init__(self, parent, id, pos, size, style, name)
针对Panel的方法不是很多,它就是一个容器。