wxPython学习笔记(二)
来源:互联网 发布:选车软件 编辑:程序博客网 时间:2024/06/05 23:56
应用程序对象的生命周期:
wxPython应用程序对象的生命周期开始于应用程序实例被创建时,在最后一个应用程序窗口被关闭时结束。这个没有必要与wxPython应用程序所在的Python脚本的开始和结束相对应。Python脚本可以在wxPython应用程序创建之前选择做一动作,并可以在wxPython应用程序的MainLoop()退出后做一些清理工作。然而所有的wxPython动作必须在应用程序对象的生命周期中执行。这意味主框架对象在wx.App对象被创建之前不能被创建。(这就是为什么我们建议在OnInit()方法中创建顶级框架——因这样一来,就确保了这个应用程序已经存在。)
如何定向wxPython程序的输出:
所有的Python程序都能够通过两种标准流来输出文本:分别是标准输出流sys.stdout和标准错误流sys.stderr。通常,Python脚本定向标准输出流到它所运行的控制台。然而,当你的应用程序对象被创建时,你可以决定使用wxPython控制标准流并重定向输出到一个窗口。在Windows下,这个重定向行为是wxPython的默认行为.在所有的系统中,当应用程序对象被创建的时候,重定向行为可以被明确地指定。我们推荐利用这个特性并总是指定重定向行为来避免不同平台上的不同行为产生的任何问题.
下例同时演示了应用程序的生命周期和stdout/stderr重定向:
# -*- coding: utf-8 -*-""" 重定向"""import wximport sysclass Frame(wx.Frame): """docstring for Frame""" def __init__(self, parent, id, title): print "Frame.__init__" wx.Frame.__init__(self, parent, id, title)class App(wx.App): """docstring for App""" def __init__(self, redirect=True, filename=None): print "App.__init__" wx.App.__init__(self, redirect, filename) def OnInit(self): print "App.OnInit" # 输出到stdout self.frame = Frame(parent=None, id=-1, title='Startup') # 创建框架 self.frame.Show() self.SetTopWindow(self.frame) print>>sys.stderr, "A pretend error message" # 输出到ststderr return True def OnExit(self): print "OnExit"if __name__ == '__main__': app = App(redirect=False) # 文本重定向从这里开始 print "before MainLoop" app.MainLoop() # 进入主事件循环 print "after MainLoop"# This is the end
0 0
- wxPython学习笔记(二)
- wxPython学习笔记二
- wxPython学习笔记(一)
- wxPython学习笔记(三)
- wxPython学习笔记(四)
- wxpython学习笔记(一)
- wxPython学习笔记一
- wxPython学习笔记三
- wxPython 学习笔记之一
- wxPython 学习笔记
- wxpython学习笔记
- wxpython学习笔记
- wxpython学习笔记
- python wxpython--学习笔记
- wxPython学习笔记
- wxPython学习笔记1
- wxpython初学者(二)
- wxpython 学习笔记 第一天
- WIN8.1 设置163邮件
- java.lang.NoClassDefFoundError分析
- 从ffmpeg源代码分析如何解决ffmpeg编码的延迟问题
- ZOJ 3314 CAPTCHA 模拟
- 一个网站初级运营需要了解的书籍、网站、工具
- wxPython学习笔记(二)
- 2.1.5 Median of Two Sorted Arrays
- 表情配置
- 如何培养交互设计师的数据分析能力
- 最小费用最大流模板
- 科技创业公司那些上百亿美元的估值怎么算出来--夏雨青
- 如何一直保持测试工作的热情
- hdu4932 小贪心
- OHS简单安装与系统配置