python wx 的wx.Frame框架属性

简介:

最近用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_BOXWX.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.PointPython元组的形式返回窗口左上角的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.HORIZONTALwx.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):触发该框架的重绘事件。如果rectnone,那么整个框架被重画。如果指定了一个矩形区域,那么仅那个矩形区域被重画。如果eraseBackgroundTrue,那么这个窗口的北影也将被重画,如果为False,那么背景将不被重画。

   SetDimensions(x, y, width, height, sizeFlags=wx.SIZE_AUTO):使你能够在一个方法调用中设置窗口的尺寸和位置。位置由参数xy决定,尺寸由参数widthheight决定。前四个参数中,如果有的为-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:使用现有的尺寸。



本文转自 lover00751CTO博客,原文链接:http://blog.51cto.com/wangwei007/1216599,如需转载请自行联系原作者


相关文章
|
10天前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
【4月更文挑战第9天】本文对比了Python三大Web框架Django、Flask和Pyramid。Django功能全面,适合快速开发,但学习曲线较陡;Flask轻量灵活,易于入门,但默认配置简单,需自行添加功能;Pyramid兼顾灵活性和可扩展性,适合不同规模项目,但社区及资源相对较少。选择框架应考虑项目需求和开发者偏好。
|
29天前
|
数据采集 数据挖掘 调度
异步爬虫实践攻略:利用Python Aiohttp框架实现高效数据抓取
本文介绍了如何使用Python的Aiohttp框架构建异步爬虫,以提升数据抓取效率。异步爬虫利用异步IO和协程技术,在等待响应时执行其他任务,提高效率。Aiohttp是一个高效的异步HTTP客户端/服务器框架,适合构建此类爬虫。文中还展示了如何通过代理访问HTTPS网页的示例代码,并以爬取微信公众号文章为例,说明了实际应用中的步骤。
|
3天前
|
Python
python面型对象编程进阶(继承、多态、私有化、异常捕获、类属性和类方法)(上)
python面型对象编程进阶(继承、多态、私有化、异常捕获、类属性和类方法)(上)
27 0
|
4天前
|
前端开发 数据挖掘 API
使用Python中的Flask框架进行Web应用开发
【4月更文挑战第15天】在Python的Web开发领域,Flask是一个备受欢迎的轻量级Web框架。它简洁、灵活且易于扩展,使得开发者能够快速地构建出高质量的Web应用。本文将深入探讨Flask框架的核心特性、使用方法以及在实际开发中的应用。
|
6天前
|
关系型数据库 数据库 开发者
Python中的Peewee框架:轻量级ORM的优雅之旅
【4月更文挑战第13天】在Python的众多ORM框架中,Peewee以其轻量级、简洁和易于上手的特点,受到了许多开发者的青睐。Peewee的设计理念是“小而美”,它提供了基本的ORM功能,同时保持了代码的清晰和高效。本文将深入探讨Peewee的核心概念、使用场景以及实战应用,帮助读者更好地理解和使用这一框架。
|
6天前
|
SQL API 数据库
Python中的SQLAlchemy框架:深度解析与实战应用
【4月更文挑战第13天】在Python的众多ORM(对象关系映射)框架中,SQLAlchemy以其功能强大、灵活性和易扩展性脱颖而出,成为许多开发者首选的数据库操作工具。本文将深入探讨SQLAlchemy的核心概念、功能特点以及实战应用,帮助读者更好地理解和使用这一框架。
|
29天前
|
存储 数据库连接 数据处理
Python语言的程序框架
Python语言的程序框架
|
1月前
|
存储 Linux 调度
太好用了!Python 定时任务调度框架 APScheduler 详解!
太好用了!Python 定时任务调度框架 APScheduler 详解!
|
1月前
|
前端开发 API 网络架构
Python 如何开发出RESTful Web接口,DRF框架助力灵活实现!
Python 如何开发出RESTful Web接口,DRF框架助力灵活实现!
|
1月前
|
物联网 调度 开发者
构建高效Python Web应用:异步编程与Tornado框架解析
【2月更文挑战第27天】 在处理高并发的Web应用场景时,传统的同步阻塞模型往往难以满足性能需求。本文将深入探讨Python世界中的异步编程概念,并结合Tornado这一轻量级、非阻塞式Web服务器及框架,展示如何构建高性能的Web应用。通过实例驱动的方法论,我们将剖析Tornado的核心组件,包括其IOLoop、异步HTTP客户端和服务器端处理机制,以及与协程集成的细节。文章旨在为开发者提供一套实践指南,帮助他们利用Python实现快速响应和资源高效的Web服务。
28 2

热门文章

最新文章