wxPython--学习笔记
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) Returns: bool
调用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()
转载于:https://www.cnblogs.com/u0mo5/p/3973768.html
wxPython--学习笔记相关推荐
- wxpython学习笔记之窗口样式(window_style、flag)、文本框格式(wxTextCtrl_style)
window_style wx.ALWAYS_show_SB:当不需要的时候(例如,当窗口的大小足够大,不需要滚动条来导航它)滚动条,禁用它们而不是隐藏它们,这种风格目前只在wxMSW和wxUnive ...
- wxPython in Action 学习笔记一
wxPython 学习笔记 第一章 欢迎使用 wxPython 1. 通常情况下,Python 中的模块导入顺序是随意的,相互无关的. 但是 wxPython 中不同,你从 wxPython 导入其他 ...
- printdocument python_python学习笔记之wxpython打印预览
主要学习wxPython in action 和Demo程序,做点学习笔记 wxPython 通过使用设备上下文和绘制操作来实现打印,wxPython中实现打印的一个重要的类:wx.PrintOut它 ...
- wxpython应用程序对象与顶级窗口_wxPython学习笔记(二)
如何创建和使用一个应用程序对象? 任何wxPython应用程序都需要一个应用程序对象.这个应用程序对象必须是类wx.App或其定制的子类的一个实例.应用程序对象的主要目的是管理幕后的主事件循环. 父类 ...
- python学习笔记目录
人生苦短,我学python学习笔记目录: week1 python入门week2 python基础week3 python进阶week4 python模块week5 python高阶week6 数据结 ...
- python 控制系统音量_pygame学习笔记(4):声音控制
pygame.mixer是一个用来处理声音的模块,其含义为"混音器".游戏中对声音的处理一般包括制造声音和播放声音两部分,这里仅学习了播放声音部分. 1.pygame.mixer启 ...
- PyQt5学习笔记01----第一个窗口
写在前面的话 最近想学习一下桌面程序开发,可是MFC臃肿复杂界面难看,而WPF无法跨平台,似乎只剩下了QT这一个选择.本来想借着学习python热情,看看python下有木有什么好看的图形库,怎奈我用 ...
- PYTHON学习笔记之(一)2020.08
PYTHON学习笔记之(一)2020.08 Python基础 数据类型 常见的列表.字典,以及元组.集合. 1 列表 list 1.1 列表转换字符串 stu = ['王一', '李二', '张三'] ...
- python学习笔记(一)Python 简单介绍
Python学习笔记(一)Python 简单介绍 Python介绍 Python简介 Python应用领域 Python是解释型的语⾔ 编译和解释的区别是什么? 编译型vs解释型 编译型 解释型 Py ...
- 中国大学MOOCPython语言程序设计(北京理工大学)第7-9周学习笔记和课后练习
中国大学MOOCPython语言程序设计(北京理工大学)第7-9周学习笔记和课后练习 第7周 文件和数据格式化 7.1 文件的使用 7.2 实例11: 自动轨迹绘制 7.3 一维数据的格式化和处理 7 ...
最新文章
- JSP笔记-JavaBean
- 谷歌和Facebook正在吸走欧洲的人才
- 九坤投资投身基础科研,携手IDEA成立联合实验室
- 悲催的中国式项目开发
- LPTHW 笨方法学习python 16章
- plsql如何执行单个语句_在单个try-with-resources语句中仔细指定多个资源
- 详解虚拟机中为Linux添加硬盘
- [DIV/CSS] 【译】60个有用CSS代码片段
- 对ExtendedWebBrowser的再扩展
- idea远程调试Java应用程序
- php 数字加逗号,PHP数字格式化,数字每三位加逗号
- Asp.net MVC 自定义路由
- 安装 VS2005 安装库 遇到vcredist.msi找不到问题
- 南京理工大学本科毕业论文答辩PPT模板
- java mysql 分页_mysql分页查询总结
- OA系统分级审批功能
- MAE 论文逐段精读【论文精读】(深度学习论文篇)
- 【POJ 2719 --- Faulty Odometer】
- Android 9 (P)在user模式下无法使用fastboot烧录怎么破
- 中泰资管天团丨如何用量化复制巴菲特?
热门文章
- Apache HTTP Server Version 安装简要记录
- Python自然语言处理学习笔记(41):5.2 标注语料库
- jQuery学习(十二)—jQuery中对象的查找方法总结
- error40无法打开到sql_SQL-mysql游标与触发器
- 都有数据一直报空指针_C语言指针难吗?纸老虎而已,纯干货讲解(附代码)...
- 我发现很多人嘴里喊着要赚钱
- 三十万,买一只基金,放着不管,五年后会怎么样?
- “不管什么关系,只要提借钱,千万别借”你怎么看?
- 闺女在大连上大学,一个月1500生活费她说少
- 主播助理的三种常见工作类型