- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第12章图形用户界面编程王雷春湖北大学
内容12.1wxPython简介12.2事件处理12.3常用控件12.4布局12.5典型案例
12.1wxPython简介基于Python的图形用户界面(GraphicalUserInterface,GUI)程序开发库有多个,如Tkinter、PyQt、wxPython等库。Tkinter库是基于Python的标准GUI工具包接口PyQt库是Python和Qt库的成功融合。wxPython库是一个开源、跨平台、支持GUI程序开发的第三方库,允许Python程序员方便地创建完整、功能健全的GUI程序。wxPython可从站点/project/wxPython/#files下载。本书案例对应下载的是wxPython-4.0.4-cp37-cp37m-win_amd64.whl。wxPython的下载和安装方法参见1.2.5节。
12.1wxPython简介【例12.1】创建一个简单的GUI程序,显示“欢迎来到Python世界!”。程序代码:importwx#创建App对象.app=wx.App() #创建并设置Frame窗体.frame=wx.Frame(None,title=第1个wxPython程序,size=(300,150))#创建面板,添加到窗体frame中.panel=wx.Panel(frame) #创建、设置标签,添加到面板panel中.sTxt_info=wx.StaticText(panel,label=欢迎来到Python世界!,pos=(60,40))#显示窗体.frame.Show(True) #启动app.MainLoop()方法,进入循环.app.MainLoop()
12.1wxPython简介运行结果见图12.1。
12.1wxPython简介由【例12.1】可知,使用wxPython建立GUI程序的步骤如下。(1)导入wx模块。importwx(2)创建一个wx.App实例。app=wx.App()(3)创建一个顶层窗体。frame=wx.Frame(None)(4)显示窗体。frame.Show(True)(5)进入应用程序循环,等待处理事件。app.MainLoop()
12.2事件处理1.事件和事件处理机制事件指发生在系统中的事,应用程序通过触发相应的功能对它进行响应。事件可以是低级的用户动作,如鼠标移动、键盘按下等;也可以是高级的用户动作,如单击按钮、选中列表框选项等;也可能是其他方式,如网络连接、定时器等。wxPython程序中与事件和事件处理相关的主要概念如下。(1)事件(Event):在应用程序期间发生的事,要求有一个响应。(2)事件对象(EventObject):代表一个事件,其中包括事件的数据等属性,是类wx.Event或其子类的对象,子类如wx.CommandEvent和wx.MouseEvent。(3)事件类型(EventType):分配给每个事件对象的一个整数ID,如wx.MouseEvent的事件类型标识了该事件是一个鼠标单击还是一个鼠标移动。
12.2事件处理(4)事件源(EventSource):能产生事件的任何wxPython对象,如按钮、菜单、列表框等控件。(5)事件处理器(EventHandler):响应事件调用的方法,也称为处理器方法。(6)事件绑定器(EventBinder):一个封装了特定控件、特定事件类型和一个事件处理器的wxPython对象。(7)wx.EvtHandler:其对象在一个特定类型、一个事件源和一个事件处理器之间创建绑定。wxPython应用程序通过将特定类型的事件和特定的代码相关联进行工作,该代码在响应事件时执行。事件被映射到代码的过程称为事件处理。和大多数GUI程序相似,wxPython程序采用基于事件的驱动机制。
12.2事件处理2.事件绑定事件绑定器由wx.PyEventBinder的对象组成。事件绑定器的对象名字是全局性的,以wx.EVT_开头。wxPython中有各种不同类型的事件绑定器,用于将不同类型的控件和一个事件对象、一个处理器方法连接起来,使wxPython程序能够通过执行处理器方法中的代码响应控件上的事件。绑定控件事件可使用wx.evtHandler的Bind()方法,其常用格式如下:self.Bind(eventBinder,handler,sourceCtrl)或self.sourceCtrl.Bind(eventBin
您可能关注的文档
- 广东工业大学《Python基础》第13章 多进程和多线程.pptx
- 广东工业大学《Python基础》第14章 网络程序设计.pptx
- 广东工业大学《Python基础》第1章 Python入门.pptx
- 广东工业大学《Python基础》第2章 Python基础.pptx
- 广东工业大学《Python基础》第3章 程序设计结构.pptx
- 广东工业大学《Python基础》第4章 组合数据.pptx
- 广东工业大学《Python基础》第5章 函数.pptx
- 广东工业大学《Python基础》第7章 模块、包和库.pptx
- 广东工业大学《Python基础》第8章 正则表达式.pptx
- 广东工业大学《Python基础》第9章 文件访问.pptx
文档评论(0)