wxPython的windows构件的具体学习

 按照前面的总结思路,我认为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的方法不是很多,它就是一个容器。

你可能感兴趣的:(windows,框架,工作,wxPython)