Python实例之wxpython中Frame使用方法
本节为大家分享的例子是wxpythonFrame的用法。
例子:
#!/usr/bin/python #-*-coding:GBK-*- #simple.py importwx app=wx.App() frame=wx.Frame(None) frame.Show() app.MainLoop()
例2,
#!/usr/bin/python 告诉程序python解释器的路径,只是在linux系统下有用,在Windows下写上这行代码不起作用,但是也没问题 #-*-coding:GBK-*- 告诉python系统字符编码,这样我们就可以在程序中使用中文汉字了,如果没有这一行就是乱码。Windows下是GBK,Linux下是UTF-8 app=wx.App() 初始化应用程序 frame=wx.Frame(None) frame.Show() 创建一个Frame(就是窗体),并显示出来。 app.MainLoop() 应用程序进入消息循环
Frame其实就是窗体,前面生成窗体时没有给他任何参数,只生成了一个默认的窗体,生成默认窗体的代码:
frame=wx.Frame(None)
其实wx.Frame可以传入很多参数,由此来控制生成窗体的样式和行为,现在来看看Frame构造函数的原型:
__init__(self,Windowparent,intid=-1,Stringtitle=EmptyString,
Pointpos=DefaultPosition,Sizesize=DefaultSize,
longstyle=DEFAULT_FRAME_STYLE,Stringname=FrameNameStr)
参数1:parent
当前窗口的父窗口,如果当前窗口是top-levelwindow的话,则parent=None,如果不是顶层窗口,则它的值为所属frame的名字
参数2:id
窗体编号。如果设置为-1,则系统自动给他分配一个编号。默认为-1.
参数3:title
窗体的标题栏,即Caption。默认为空。
参数4:pos
窗体的位置坐标。默认值为(-1,-1),则窗体的位置由系统决定。
参数5:size
窗体的大小。默认值为(-1,-1),则窗体的大小由系统决定。
参数6:style
窗体样式。默认值为DEFAULT_FRAME_STYLE
默认样式DEFAULT_FRAME_STYLE是下面这些值的复合:
wx.MINIMIZE_BOX|wx.MAXIMIZE_BOX|wx.RESIZE_BORDER|
wx.SYSTEM_MENU|wx.CAPTION|wx.CLOSE_BOX|wx.CLIP_CHILDREN
它包括最小化按钮、最大化按钮、系统菜单、标题栏、关闭按钮、可变大小等等。您也可以根据自己的需求改变样式,具体请参照帮助。
参数7:name
窗体名称。
可以看到,7个参数中6个都有默认值,只有第一个参数parent需要设置一下,所以一个最简单的窗体就是:
Python代码 收藏代码
frame=wx.Frame(None)
窗体标题:
Python代码 收藏代码
frame=wx.Frame(None,title="HelloWorld")
位置和大小:
Python代码 收藏代码
frame=wx.Frame(None,title="世界你好",size=(300,150),pos=(200,200))
样式一:只有一个光秃秃的标题栏
Python代码 收藏代码
frame=wx.Frame(None,style=wx.CAPTION)
样式二:只有客户区,没有标题栏,也不能改变大小
Python代码 收藏代码
frame=wx.Frame(None,style=0)
样式三:只有一个关闭按钮,不能改变大小
frame=wx.Frame(None,style=wx.SYSTEM_MENU|wx.CAPTION|wx.CLOSE_BOX) wx.DEFAULT_FRAME_STYLE:这是每个窗口的缺省风格,包含标题、可调节大小的边框,最大最小化按钮、关闭按钮和系统菜单。 wx.CAPTION:在框架上增加一个标题栏,它显示该框架的标题属性。 wx.CLOSE_BOX:指示系统在框架的标题栏上显示一个关闭框,使用系统默认的位置和样式。 Wx.FRAME_ON_TOP:置顶窗口 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样式是否被应用。 wx.FRAME_EX_META:如果时在MacOS中,这个属性用于是否显示“金属风格” wx.FRAME_EX_CONTEXTHELP:是否有联机帮助按钮。 wx.FRAME_FLOAT_ON_PARENT:窗口是否显示在最上层,与wxSTAY_ON_TOP不同,它必须有一个父窗口。
frame窗体风格通过style属性来设置,例如:
style=wx.SYSTEM_MENU|wx.MINIMIZE_BOX|wx.CLOSE_BOX|wx.CAPTION