wxpython学习:创建最小的空的wxPython程序
import wx #
class App(wx.App): #
def OnInit(self): #
frame = wx.Frame(parent=None, title=’Bare’)
frame.Show()
return True
app = App() #
app.MainLoop() #
上面的代码的任何一行都不能少,否则将不能工作。这个基本的wxPython
程序说明了开发任一wxPython程序所必须的五个基本步骤:
1、导入必须的wxPython包
2、子类化wxPython应用程序类
3、定义一个应用程序的初始化方法
4、创建一个应用程序类的实例
5、进入这个应用程序的主事件循环
1.2.1 导入wxPython
import wx
1.2.2 使用应用程序和框架工作
一旦你导入了wx模块,你就能够创建你的应用程序(application)对象和
框架(frame)对象。每个wxPython程序必须有一个application对象和至少一个
frame对象。application对象必须是wx.App的一个实例或你在OnInit()方法中定义
的一个子类的一个实例。当你的应用程序启动的时候,OnInit()方法将被
wx.App父类调用。
子类化wxPython application类
下面的代码演示了如何定义我们的wx.App的子类:
class MyApp(wx.App):
def OnInit(self):
frame = wx.Frame(parent=None, id=-1, title=”Bare”)
frame.Show()
return True
上面我们定义了一个名为MyApp的子类。我们通常在OnInit()方法中创建
frame对象。上面的wx.Frame接受三个参数,仅第一个是必须的,其余的都有默
认值。
调用Show()方法使frame可见,否则不可见。我们可以通过给Show()一个布
尔值参数来设定frame的可见性
frame.Show(False) # 使框架不可见.
frame.Show(True) # True是默认值,使框架可见.
frame.Hide() # 等同于frame.Show(False)
定义一个应用程序的初始化方法
注意:我们没有为我们的应用程序类定义一个__init__()方法。在Python中,这就意
味着父方法wx.App.__init()__将在对象创建时被自动调用。这是一个好的事情。如果
你定义你自己的__init__()方法,不要忘了调用其基类的__init()__方法,示例如下:
class App(wx.App):
def __init__(self):
wx.App.__init__(self)
如果你忘了这样做,wxPython不将被初始化并且你的OnInit()方法也不将得到调用。
创建一个应用程序实例并进入它的主事件循环
这步是创建wx.App子类的实例,并调用它的MainLoop()方法:
app = App()
app.MainLoop()
一旦进入主事件循环,控制权将转交给wxPython。wxPython GUI程序主要
响应用户的鼠标和键盘事件。当一个应用程序的所有框架被关闭后,这个
app.MainLoop()方法将返回且程序退出。
wxpython学习:创建最小的空的wxPython程序的更多相关文章
- wxPython学习笔记(一)
创建最小的空的wxPython程序 frame = wx.Frame(parent=None, title='Bare') frame.Show() return True app = App() a ...
- [wxPython学习]wx.CallAfter和wx.FutureCall
[wxPython学习]wx.CallAfter和wx.FutureCall 今天才学到的两个wxPython中的函数:wx.CallAfter和wx.FutureCall.这是两个无关的函数,但又多 ...
- Spring MVC 学习 -- 创建过程
Spring MVC 学习 -- 创建过程 Spring MVC我们使用的时候会在web.xml中配置 <servlet> <servlet-name>SpringMVC< ...
- pandas学习(创建多层索引、数据重塑与轴向旋转)
pandas学习(创建多层索引.数据重塑与轴向旋转) 目录 创建多层索引 数据重塑与轴向旋转 创建多层索引 隐式构造 Series 最常见的方法是给DataFrame构造函数的index参数传递两个或 ...
- lucene&solr学习——创建和查询索引(代码篇)
1. Lucene的下载 Lucene是开发全文检索功能的工具包,从官网下载Lucene4.10.3并解压. 官网:http://lucene.apache.org/ 版本:lucene7.7.0 ( ...
- 创建ASP.NET Core MVC应用程序(6)-添加验证
创建ASP.NET Core MVC应用程序(6)-添加验证 DRY原则 DRY("Don't Repeat Yourself")是MVC的设计原则之一.ASP.NET MVC鼓励 ...
- 创建ASP.NET Core MVC应用程序(2)-利用MySQL Connector NET连接到MySQL
创建ASP.NET Core MVC应用程序(2)-利用MySQL Connector NET连接到MySQL 用惯.NET的研发人员都习惯性地使用SQLServer作为数据库.然而.NET Core ...
- 创建ASP.NET Core MVC应用程序(1)-添加Controller和View
创建ASP.NET Core MVC应用程序(1)-添加Controller和View 参考文档:Getting started with ASP.NET Core MVC and Visual St ...
- Android开发之 Windows环境下通过Eclipse创建的第一个安卓应用程序(图文详细步骤)
第一篇 windows环境下搭建创建的第一个安卓应用程序 为了方便,我这里只采用了一体包进行演示. 一.下载安卓环境的一体包. 官网下载:安卓官网(一般被墙了) 网盘下载: http://yunpa ...
随机推荐
- 在centos6.3下安装php的Xdebug
首先下载一个xdebug http://www.xdebug.org/docs/ 官网上有windos版本和linux源码版本的,我们下载一个源码包xdebug-2.2.5.tgz 然后进入安装流程 ...
- python 处理10000个txt,每个文件夹里面放1000个。
fileNumberInDiretory = 1000 title_list = getChongFuTitle(cursor) DiretoryNums = math.ceil(len(title_ ...
- Zookeeper 介绍 原理
简介: ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务. 它Google的Chubby一个开源的实现,在分布式协调技术方面做得比较好的就是Google的Chubby还有 ...
- centos7安装bind(DNS服务)
环境介绍 公网IP:149.129.92.239 内网IP:172.17.56.249 系统:CentOS 7.4 一.安装 yum install bind bind-utils -y 二.修改bi ...
- centos系统重装python或yum 报There was a problem importing one of the Python modules required to run yum. The error leading to this problem was:错误
sudo vim /usr/bin/yum #修个python所在的路径,例如 #/usr/local/bin/python2.6 或 /usr/local/bin/python2.7要原本你的系统原 ...
- 第三篇 SpringBoot整合log4j2详解
源代码:https://pan.baidu.com/s/1d1Lwv1gIvVNltIKVWeEseA 提取码:wff0 SpringBoot整合Log4j2步骤: 1.删除spring-boot-s ...
- git 指令笔记
狂躁,太狂躁!!赶上过年,赶上自己的懒癌,12月底就学完的教程直到今天才整理笔记,中途沉默在游戏中..... 只给出Windows下git指令操作,推荐大家去廖雪峰前辈那里学习(百度搜索:廖雪峰的官方 ...
- Android.bp文件简介
Android.bp是用来替换Android.mk的配置文件,它使用Blueprint框架来解析.Blueprint是生成.解析Android.bp的工具,是Soong的一部分.Soong则是专为An ...
- 给test函数加个装饰器!
import timedef timer(func): def deco(*args,**kwargs): start_time=time.time() func(*args,**kwargs) st ...
- MyBatis中foreach循环的用法
一.在了解foreach之前,先了解一下mybatis传入参数及parameterType 1.我们在Dao层向对应的mapper.xml文件传递参数时,可以传递的参数有: ①.基本数据类型(如int ...