- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章 GUI编程常用GUI工具Tkinter:Python的标准GUI库wxPython:功能强于Tkinter,跨平台Jython:基于JavaIronPython:增加了对.NET应用程序的支持wxPython下载安装/download.phpwxPython 3.0建立GUI程序的三大步骤:1)导入必需的wxPython包或其他包2)建立框架类:框架类的父类为wx.Frame,在框架类的构造函数中必须调用父类的构造函数。3)建立主程序:通常做4件事——建立应用程序对象、建立框架类对象、显示框架、建立事件循环执行frame.Show(True)后,框架才看得见执行app.MainLoop( )后,框架才能处理事件。如需在窗体上增加其他控件,可在构造函数中增加代码如需处理事件,可增加框架类的成员函数。9.1 FrameFrame:框架(窗体),容器,可移动、缩放,包含标题栏、菜单等。是所有框架的父类。使用时,需要派生出子类,其构造函数格式为:wx.Frame. __init__ (parent, id, title, pos, size, style, name ) parent:框架的父窗体。对于顶级窗体,该值为None。id:新窗体的wxPython ID号。可以明确地传递一个,也可传递-1,这时wxPython将自动生成一个新的ID。title:窗体的标题pos:wx.Point对象,它指定这个新窗体的左上角在屏幕中的位置。通常(0,0)是显示器的左上角。当将其设定为wx.DefaultPosition,其值为(-1,-1),表示让系统决定窗体的位置。9.1 Framesize:一个wx.Size对象,它指定这个新窗体的初始尺寸。当将其设定为wx.DefaultSize时,其值为(-1,-1),表示由系统决定窗体的初始尺寸。style:指定窗体的类型的常量。name:框架的名字,指定后我们可以使用它来寻找这个窗体。当一个参数前面的所有参数都被设定的时候,该参数可以省略其名称直接填写其值,否则需要使用 “参数名=值”的格式。wx.Frame.__init__( )方法只有一个参数parent没有默认值,因而最简单的调用方式是wx.Frame.__init__(self, parent=None)这将生成一个默认位置、默认大小的窗体9.1 FramewxPython的ID参数:可以明确给构造函数传递一个正整数,由程序员自行保证ID不重复并且没有重用预定义的ID号,如wx.ID_OK、wx.ID_CANCEL等ID号对应的数值;使用wx.NewId()函数,可以避免确保ID号唯一性的麻烦,如 id = wx.NewId() frame = wx.Frame.__init__(None, id)使用全局常量wx.ID_ANY(值为-1)来让wxPython生成新的ID,需要时可以使用GetId()方法来得到它,如 frame = wx.Frame.__init__(None, -1) id = frame.GetId()9.1 Framewx.Frame的样式:wx.CAPTION:增加标题栏wx.DEFAULT_FRAME_STYLE:默认样式wx.CLOSE_BOX:标题栏上显示“关闭”按钮wx.MAXIMIZE_BOX:标题栏上显示“最大化”按钮wx.MINIMIZE_BOX:标题栏上显示“最小化”按钮wx.RESIZE_BORDER:边框可改变尺寸wx.SIMPLE_BORDER:边框没有装饰wx.SYSTEM_MENU:增加系统菜单(有“关闭”、“移动”、“改变尺寸”等功能)wx.FRAME_SHAPED:用该样式创建的框架可以使用SetShape()方法来创建一个非矩形的窗体wx.FRAME_TOOL_WINDOW:给框架一个比正常小的标题栏,使框架看起来像一个工具框窗体9.1 Frame对一个窗体控件可以使用多个样式,使用或运算符(|)连接即可。比如:wx.DEFAULT_FRAME_STYLE样式就是以下几个基本样式的组合:wx.MAXIMIZE_BOX | wx.MINIMIZE_BOX | wx.RESIZE_BORDER | wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX要从一个组合样式中去掉个别的样式可以使用^操作符。例如要创建一个默认样式的窗体,但要求用户不能缩放和改变窗体的尺寸,可以使用这样的组合:wx.DEFAULT_FRAME_STYLE ^ (wx.RESIZE_BORDER | wx.MAXIMIZE_BOX | wx.MINIMIZE_BOX)9.1 Frame例1:在窗体上的文本框中动态显示当前窗体的位置与大小以及鼠标相对于窗体(即,窗体左上角坐标
文档评论(0)