时间紧张,先记一笔,后续优化与完善。
wxPython序程由两个要必的对象成组,用应对象APP和顶级窗口对象Frame
- 用应序程对象APP理管主事件循环MainLoop()
- 顶级窗口对象Frame理管数据,制控并呈现给用户
先看一段最简略的码代:
import wx class App(wx.App): def OnInit(self): frame = wx.Frame(parent = None, title = 'Kobe') frame.Show() return True app = App() app.MainLoop()
面上的码代说明白开辟wxPython序程必须的5个骤步:
- 1. 入导wxPython包
- 2. 子类化wxPython用应类
- 3. 定义用应序程的初始化方法
- 4. 创立一个用应序程类的例实
- 5. 进入这个用应序程的主事件循环(MainLoop())
- OnInit()方法没有参数,回返值为BOOL,此分部可以做一些症结数据初始化的动作,如果失败,回返False,序程退出。通常会在此方法中创立一个Frame对象,并调用Frame的Show()方法。
- 用应序程对象开始于例实被创立时,结束于最后一个用应序程窗口被关闭,与Python本脚开始执行没有前后系关。
- 个每wxPython序程必须有一个application对象和最少一个frame对象。application对象必须是wx.App的一个例实或在OnInit()方法中定义的一个子类的一个例实,当序程启动时,OnInit()方法将被wx.App父类调用。
- 面上的码代中,定义了名为MyApp的子类,在OnInit()方法中创立frame对象。
wx.Frame(self, parent, id, title, pos, size, style, name)
- 其中,只有parent是必须的,其余都有默认值,回返值为空。面下是其各个参数的类型:
parent
(type=Window)
id
(type=int)
pos
(type=Point)
size
(type=Size)
style
(type=long)
name
(type=String)
调用Show()方法使frame可见,否则弗成见。可以通过给Show一个布尔参值数来设定frame的可见性:
frame.Show(False) # 框架弗成见 frame.Show(True) # 框架可见 frame.Hide() # 等同于frame.Show(False)
该序程并没有定义一个__init__()方法,意味着父方法wx.App.__init()__将在对象创立时被主动调用。若自己定义__init__()方法,还需要调用其基类的__init__()方法。
class App(wx.APP): def __init__(self): wx.APP.__init__(self)
如果没有这样做, wxPython将不被初始化,并且OnInit()方法也不会调用
当序程进入主循环后,制控权将转交给wxPython。wxPython GUI序程要主响用应户的标鼠和键盘事件。当一个用应序程的有所框架被关闭后,app.MainLoop()方法将回返,序程退出。
import wx class Frame(wx.Frame): def __init__(self, image, parent=None, id =-1, pos = wx.DefaultPosition, title = 'Hello, wxPython!'): temp = image.ConvertToBitmap() size = temp.GetWidth(), temp.GetHeight() wx.Frame.__init__(self, parent, id, title, pos, size) self.bmp = wx.StaticBitmap(parent = self, bitmap = temp) class App(wx.App): def OnInit(self): image = wx.Image('wxPython.jpg', wx.BITMAP_TYPE_JPEG) self.frame = Frame(image) self.frame.Show() self.SetTopWindow(self.frame) return True def main(): app = App() app.MainLoop() if __name__ == '__main__': main()
文章结束给大家分享下程序员的一些笑话语录: Bphone之你们聊,我先走了!移动说:我在phone前加o,我叫o缝;苹果说:我在phone前i,我是i缝;微软说:我在phone前加w,我叫w缝;三星说:你们聊,我先走了!
将来王建宙写回忆录的时候,一定要有一句“常小兵为中国移动的发展做出了不可磨灭的贡献”。
相关推荐
欢迎来到wxPython 19 1.1 开始wxPython 20 1.2 创建最小的空的wxPython程序 20 1.2.1 导入wxPython 21 1.2.2 使用应用程序和框架工作 22 子类化wxPython application类 23 定义一个应用程序的初始化方法 23 创建一个...
wxPython是什么 wxPython是Python语言的一套优秀的GUI图形库。允许Python程序员很方便的创建完整的、功能键全的GUI用户界面。(当然Python可不止这一个GUI库,欢迎Tkinter、PyGTK、PyQt、PySide,当然用哪个是根据...
本文实例讲述了wxpython中自定义事件的实现与使用方法。分享给大家供大家参考,具体如下: 创建自定义事件的步骤: ① 定义事件类,该事件类必须继承自wx.PyCommandEvent,并定义get和set方法来获取和设置事件参数。...
python-2.7+wxPython2.8-win64 CANOPEN对象字典编辑开发工具
做协议栈移植时,涉及到的对对象字典的编辑工作。 1. python-2.7.10.msi(安装Python环境,有Python环境的可忽略) 2. wxPython2.8-win32-unicode-2.8.12.1-py27.exe 3. Beremiz-1.1_RC5.exe 4. caneds36sp1.exe
提供绘制操作的接口对象是pdfgen canvas。 canvas应该被认为一张白纸,上面的点用笛卡尔坐标来标记。默认页面的左下角为原点(0,0),此外x轴向右,y轴向上。 示意图如下: 绘制文本 首先演示一个绘制”hello ...
CANopen对象字典安装环境,内含python-2.7、wxPython3.0-win64-3.0.2.0-py27和Gnosis_Utils-1.2.2。主要用于配置CANopen对象字典生成工具的安装环境。具体安装流程可以看我的博客,或者公众号:物联网知识
压缩文件包含了python2_jb51、wxPython2.8。由于Beremiz-1.1_RC5过大,保存在网盘,解压后有网盘地址。 安装顺序: 1.python-2.7.3 2.wxPython2.8 3.beremiz 安装的时候都安装路径都选C盘(就是默认路径,软件也不大...
wxPython的应用入口是在wx.App()实现的,在OnInit()函数中创建要显示的Frame对象,在wx.App子类中实现界面刷新的函数update(),并将其传递给新创建的Frame对象,在Frame需要触发Frame更新的时候,通过这个回调函数...
将tkinter,Qt,WxPython和Remi(基于浏览器)GUI框架转换为更简单的界面。 通过使用初学者可以理解的Python核心数据类型(列表和字典)来简化窗口定义。 通过将事件处理从基于回调的模型更改为传递消息的消息,...
Python,是一种面向对象、直译式计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的...
资源包括canfestival源码以及基于mke06的移植实例,对象字典生成工具objdictedit(python,wxPython,Gnosis_Utils)以及安装步骤说明。
一些对象类是在Python中定义的(例如 ) 派生自cad模块中定义的cad对象基类。 如何建造 首先进行干净的Raspbian安装,然后我进行了完整的安装。 构建wxPython 或如果您已经构建它并将其复制到Windows笔记本电脑...
除了标准库以 外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。 概括————Python确实是一种十分精彩又强大的语言。它合理地结合了高性能与使得编写程序简单有趣的特色。 Python 3.4.0 ...
Python tkinter快速可视化开发GUI界面指南:详细教程(附带工具),可通过拖拽实现GUI代码的开发,适用对象 适用于学习了TKinter并不想太麻烦写GUI代码,也不想用其他工具和框架 比如wxPython,PyQt4的同学。...
5.1.1 如何创建数值对象并用其赋值(数字对象) 5.1.2 如何更新数字对象 5.1.3 如何删除数字对象 5.2 整型 5.2.1 布尔型 5.2.2 标准整型 5.2.3 长整型 5.2.4 整型和长整型的...
5.1.1 如何创建数值对象并用其赋值(数字对象) 5.1.2 如何更新数字对象 5.1.3 如何删除数字对象 5.2 整型 5.2.1 布尔型 5.2.2 标准整型 5.2.3 长整型 5.2.4 整型和长整型的...
9.1 同步对象中的所有方法 339 9.2 终止线程 342 9.3 将Queue.Queue用作优先级队列 344 9.4 使用线程池 346 9.5 以多组参数并行执行函数 349 9.6 用简单的消息传递协调线程 351 9.7 储存线程信息 353 9.8 无...
要使用Python实现GUI界面显示,可以使用多个第三方库,其中比较常用的有Tkinter、PyQt和wxPython等。下面是对这些库的简单描述: Tkinter:它是Python的标准GUI库,易于学习和使用。可以创建窗口、按钮、标签、...