python wx 的wx.Frame框

2020-01-07 15:02:18 浏览数 (1)

最近用python的wx模块写了一些窗口,其中wx.Frame是一个最重要的窗口框架,上网上查找了一些材料,其常用的属性用法如下:

wx.Frame(parent, id=-1, title="", pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE, name="frame")

框架的形状和尺寸标记

   wx.FRAME_NO_TASKBAR:一个完全标准的框架,除了一件事:在Windows系统和别的支持这个特性的系统下,它不显示在任务栏中。当最小化时,该框架图标化到桌面而非任务栏。

   wx.FRAME_SHAPED:非矩形的框架。框架的确切形状使用SetShape()方法来设置。窗口的形状将在本章后面部分讨论。

   wx.FRAME_TOOL_WINDOW:该框架的标题栏比标准的小些,通常用于包含多种工具按钮的辅助框架。在Windows操作系统下,工具窗口将不显示在任务栏中。

   wx.ICONIZE:窗口初始时将被最小化显示。这个样式仅在Windows系统中起作用。

   wx.MAXIMIZE:窗口初始时将被最大化显示(全屏)。这个样式仅在Windows系统中起作用。

   wx.MINIMIZE:同wx.ICONIZE。

窗口漂浮行为的样式

   wx.FRAME_FLOAT_ON_PARENT:框架将漂浮在其父窗口(仅其父窗口)的上面。(很明显,要使用这个样式,框架需要有一个父窗口)。其它的框架可以遮盖这个框架。

   wx.STAY_ON_TOP:该框架将始终在系统中其它框架的上面。(如果你有多个框架使用了这个样式,那么它们将相互重叠,但对于系统中其它的框架,它们仍在上面。)

装饰窗口的样式

   wx.CAPTION:给窗口一个标题栏。如果你要放置最大化框、最小化框、系统菜单和上下文帮助,那么你必须包括该样式。

   wx.FRAME_EX_CONTEXTHELP:这是用于Windows操作系统的,它在标题栏的右角放置问号帮助图标。这个样式是与wx.MAXIMIZE_BOX和WX.MINIMIZE_BOX样式互斥的。它是一个扩展的样式,并且必须使用两步来创建,稍后说明。

   wx.FRAME_EX_METAL:在Mac OS X上,使用这个样式的框架有一个金属质感的外观。这是一个附加样式,必须使用SetExtraStyle方法来设置。

   wx.MAXIMIZE_BOX:在标题栏的标准位置放置一个最大化框。

   wx.MINIMIZE_BOX:在标题栏的标准位置放置一个最小化框。

   wx.CLOSE_BOX:在标题栏的标准位置放置一个关闭框。

   wx.RESIZE_BORDER:给框架一个标准的可以手动调整尺寸的边框。

   wx.SIMPLE_BORDER:给框架一个最简单的边框,不能调整尺寸,没有其它装饰。该样式与所有其它装饰样式是互斥的。

   wx.SYSTEM_MENU:在标题栏上放置一个系统菜单。这个系统菜单的内容与你所使用的装饰样式有关。例如,如果你使用wx.MINIMIZE_BOX,那么系统菜单项就有“最小化”选项。

wx.Frame的公共属性

   GetBackgroundColor()

   SetBackgroundColor(wx.Color):背景色是框架中没有被其子窗口部件覆盖住的那些部分的颜色。你可以传递一个wx.Color或颜色名给设置方法。任何传递给需要颜色的wxPython方法的字符串,都被解释为对函数wx.NamedColour()的调用。

   GetId()、SetId(int):返回或设置窗口部件的标识符。

   GetMenuBar()、SetMenuBar(wx.MenuBar):得到或设置框架当前使用的的菜单栏对象,如果没有菜单栏,则返回None。

   GetPosition()、GetPositionTuple()、SetPosition(wx.Point):以一个wx.Point或Python元组的形式返回窗口左上角的x,y的位置。对于顶级窗口,该位置是相对于显示区域的坐标,对于子窗口,该位置是相对于父窗口的坐标。

   GetSize()、GetSizeTuple()、SetSize(wx.Size):C 版的get*或set*方法被覆盖。默认的get*或set*使用一个wx.Size对象。GetSizeTuple()方法以一个Python元组的形式返回尺寸。也可以参看访问该信息的另外的方法SetDimensions()。

   GetTitle()、SetTitle(String):得到或设置框架标题栏的字符串。

wx.Frame的方法

   Center(direction=wx.BOTH):框架居中(注意,非美语的拼写Centre,也被定义了的)。参数的默认值是wx.BoTH,在此情况下,框是在两个方向都居中的。参数的值若是wx.HORIZONTAL或wx.VERTICAL,表示在水平或垂直方向居中。

Enable(enable=true):如果参数为true,则框架能够接受用户的输入。如果参数为False,则用户不能在框架中输入。相对应的方法是Disable()。

   GetBestSize():对于wx.Frame,它返回框架能容纳所有子窗口的最小尺寸。

   Iconize(iconize):如果参数为true,最小化该框架为一个图标(当然,具体的行为与系统有关)。如果参数为False,图标化的框架恢复到正常状态。

   IsEnabled():如果框架当前有效,则返回True。

   IsFullScreen():如果框架是以全屏模式显示的,则返回True,否则False。细节参看ShowFullScreen。

   IsIconized():如果框架当前最小化为图标了,则返回True,否则False。

   IsMaximized():如果框架当前是最大化状态,则返回True,否则False。

   IsShown():如果框架当前可见,则返回True。

   IsTopLevel():对于顶级窗口部件如框架或对话框,总是返回True,对于其它类型的窗口部件返回False。

   Maximize(maximize):如果参数为True,最大化框架以填充屏幕(具体的行为与系统有关)。这与敲击框架的最大化按钮所做的相同,这通常放大框架以填充桌面,但是任务栏和其它系统组件仍然可见。

   Refresh(eraseTrue, rect=None):触发该框架的重绘事件。如果rect是none,那么整个框架被重画。如果指定了一个矩形区域,那么仅那个矩形区域被重画。如果eraseBackground为True,那么这个窗口的北影也将被重画,如果为False,那么背景将不被重画。

   SetDimensions(x, y, width, height, sizeFlags=wx.SIZE_AUTO):使你能够在一个方法调用中设置窗口的尺寸和位置。位置由参数x和y决定,尺寸由参数width和height决定。前四个参数中,如果有的为-1,那么这个-1将根据参数sizeFlags的值作相应的解释。表8.6包含了参数sizeFlags的可能取值。

   Show(show=True):如果参数值为True,导致框架被显示。如果参数值为False,导致框架被隐藏。Show(False)等同于Hide()。

   ShowFullScreen(show, style=wx.FULLSCREEN_ALL):如果布尔参数是True,那么框架以全屏的模式被显示——意味着框架被放大到填充整个显示区域,包括桌面上的任务栏和其它系统组件。如果参数是False,那么框架恢复到正常尺寸。style参数是一个位掩码。默认值wx.FULLSCREEN_ALL指示wxPython当全屏模式时隐藏所有窗口的所有样式元素。后面的这些值可以通过使用按位运算符来组合,以取消全屏模式框架的部分装饰:wx.FULLSCREEN_NOBORDER, wx.FULLSCREEN_NOCAPTION,wx.FULLSCREEN_NOMENUBAR,wx.FULLSCREEN_NOSTATUSBAR,wx.FULLSCREEN_NOTOOLBAR。

   SetDimensions方法的尺寸标记

   wx.ALLOW_MINUS_ONE:一个有效的位置或尺寸。

   wx.SIZE_AUTO:转换为一个wxPython默认值。

   wx.SIZE_AUTO_HEIGHT:一个有效的高度,或一个wxPython默认高度。

   wx.SIZE_AUTO_WIDTH:一个有效的宽度,或一个wxPython默认宽度。

   wx.SIZE_USE_EXISTING:使用现有的尺寸。

0 人点赞