wxPython 笔记(10)应用程序对象

前面的笔记主要学习了 wx.Frame 的用法,在我们创建一个 Frame 的时候,总是要用到一个应用程序对象 wx.App ,每个程序中必不可少的两行代码是:

1、创建应用程序对象 wx.App()

2、开始主循环 app.MainLoop()

 

以前用 Delphi 或者 VB 的时候我们是看不到这个对象的(其实也有),我们一般都把窗体就当作了一个程序,其实窗体对象和应用程序对象还是有很大区别的,具体的区别要说起来比较复杂,简单说它主要有以下几个作用:

1、创建和管理消息循环,这个不用说了吧。

2、初始化程序进程,就是程序运行必要的一些资源。

3、缺省的事件处理

4、应用程序对象的其他一些属性的设置和读取等等 

 

下面我们看一下 wx.App 的初始化函数:

__init__(selfredirect=Falsefilename=NoneuseBestVisual=FalseclearSigInt=True)


第一个参数 redirect 如果为 False ,代表所有的输出到控制台窗口;如果为 True ,则输出到另外一个专门的输出窗口;

有的时候程序有错误,输出窗口会显示一些错误信息,但是总是一闪而过,根本看不清楚,这时候,第二个参数  filename 就起作用了,在 redirect 为 True 的情况下,所有的输出到你指定的文件中,这样就不会错过任何信息了。

 

下面的代码显示了 wx.App 的一些简单的用法,代码如下:

 

ExpandedBlockStart.gif 代码
 1  # !/usr/bin/python
 2  #  -*- coding: GBK -*-
 3 
 4  import  wx
 5 
 6  class  App(wx.App):
 7       def   __init__ (self):
 8          wx.App. __init__ (self, False )
 9          
10       def   OnInit (self):
11           print   " 程序初始化..... "
12          self.frmMain = MainFrame()
13          self.frmMain.Centre()
14          self.frmMain.Show()
15          self.SetTopWindow(self.frmMain)
16          
17           print   " App.GetAppName(): "   +  self. GetAppName ()
18           print   " App.GetClassName(): "   +  self. GetClassName ()
19           return  True
20      
21       def   OnExit (self):
22           print   " 程序退出..... "
23          
24      
25  class  MainFrame(wx.Frame):
26       def   __init__ (self):
27          wx.Frame. __init__ (self,None,id =- 1 ,title = " Hello wxPython! " ,size = ( 250 , 150 ));
28          
29 
30  if   __name__ == ' __main__ ' :
31      app = App()
32      app. MainLoop ()

 

//==========================================

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值