博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python wxPython 5 (框架 wx.Frame)
阅读量:6630 次
发布时间:2019-06-25

本文共 3657 字,大约阅读时间需要 12 分钟。

  hot3.png

wxPython 5 (框架 wx.Frame)
2008年08月21日 星期四 22:20

框架 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(eraseBackground=True,

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:使用现有的尺寸。

转载于:https://my.oschina.net/mutour/blog/33063

你可能感兴趣的文章
Python 列表 min() 方法
查看>>
【死磕jeesite源码】Jeesite配置定时任务
查看>>
TBluetoothLEDevice.UpdateOnReconnect
查看>>
poj3517
查看>>
iphone http下载文件
查看>>
poj 1195:Mobile phones(二维树状数组,矩阵求和)
查看>>
json lib 2.4及其依赖包下载
查看>>
Using JRuby with Maven
查看>>
醒醒吧少年,只用Cucumber不能帮助你BDD
查看>>
一名女程序员对iOS的想法
查看>>
Spring Websocket实现文本、图片、声音、文件下载及推送、接收及显示(集群模式)...
查看>>
最严新规发布 网络短视频平台该如何降低违规风险? ...
查看>>
云服务器ECS出现速度变慢 以及突然断开怎么办?
查看>>
208亿背后的“秘密”
查看>>
Android系统自带样式(android:theme)解析
查看>>
全志A33开发板Linux内核定时器编程
查看>>
全栈必备 敏捷估点
查看>>
作为一名合格的JAVA架构师需要点亮哪些技能树?
查看>>
为什么短视频会让人刷不停?背后也许用了这套技术
查看>>
Kubernetes 在知乎上的应用
查看>>