wx.App类表示wxPython视窗应用,其主要作用:
- 引导 wxPython 视窗应用,并初始化底层的GUI 工具包;
- 设置和获取wxPython视窗应用的全局属性;
- 实现wxPython视窗应用主消息或事件循环和事件绑定。
每个wxPython视窗应用程序必须有一个wx.App(或其子类)实例,并且所有UI对象实例都在wx.APP实例创建之后再创建。wx.App可以单独使用,但是通常情况下,我们会创建一个wx.App的子类,并重载其OnInit函数。
方法:
__init__(self,redirect = False,filename = None,useBestVisual = False,clearSigInt = True)
构造函数
参数
redirect - 布尔值,默认为False。是否重定向标准输出(sys.stdout)和标准错误输出(sys.stderr)。如果redirect = True,filename = None则被重定向到弹出窗口。
filename – 字符串,默认为None。当redirect = True时,标准输出(sys.stdout)和标准错误输出(sys.stderr)重定向文件名。
useBestVisual – 布尔值,默认为False。当系统中拥有多套视窗风格时,是否偿试使用最合适的视窗风格。视窗风格的选择必须在底层GUI工具包初始化之前,因此需用此参数代替SetUseBestVisual函数。
clearSigInt – 布尔值,默认为True。是否清除 SIGINT信号。如果clearSigInt = True时,清除SIGINT信号,可在控制台中按 Ctrl-C 终止wxPython应用程序。
默认情况
标准输出显示
redirect = True,filename = None情况
弹出窗口显示
redirect = True,filename=output.txt情况
重定向到文件output.txt
clearSigInt = False情况
在命令行模式下执行python3 App.py,按Ctrl+C不会终止wxPython应用
clearSigInt = True情况
在命令行模式下执行python3 App.py,按Ctrl+C终止wxPython应用
Get()
这是一个静态方式,返回当前处于活动状态的wxPython视窗应用。
当前激活的wxPython视窗应用默认为最新定义的
MainLoop(self)
执行主 GUI 事件循环。
OnPreInit(self)
在_BootstrapApp完成之后,OnInit执行之前执行,进行一些初始化工作,可以子类中重载。
调用顺序
RedirectStdio(self, filename = None)
将标准输出(sys.stdout)和标准错误输出(sys.stderr)重定向到文件(指定文件名)或弹出窗口(None)。
filename = ‘output.txt’情况
重定向到文件output.txt
filename = None情况
弹出窗口显示
SetOutputWindowAttributes(self, title = None, pos = None, size = None)
设置标准输出(sys.stdout)和标准错误输出(sys.stderr)重定向的弹出窗口标题、位置和大小。(注:该函数在重定行内容输出之前调用有效)
设置重定向弹出窗口
SetTopWindow(self, frame)
设置顶级窗口。
__del__(self)
析构函数。