wxPython一

wxPython是一个基于wxWidgets的跨平台界面库,同类的界面库还有GTK,QT等等,笔者使用的环境是Windows XP+Python2.6+wxPython2.8。wxPython下载地址:http://downloads.sourceforge.net/project/wxpython/wxPython/2.8.9.2/wxPython2.8-win32-unicode-2.8.9.2-py26.exe?use_mirror=nchc

 

1. 第一个demo(使用提供的PySimpleAPP),对于demo,先来code再解释:

  

 

对于一个应用来说,必不可少的是需要一个wx.APP,一个Frame,所以每个应用必须至少包含这两个,上面的实例也一样,接下来一句一句解释,先从‘__main__’看起:

    app = wx.PySimpleApp(True, "demo1.log")  #起一个App,第一个参数表示是否输出打印,第二个参数表示输出的文件名,若第二个参数为None,则输出到窗口中。
    frame = MyFrame() #起一个Frame
    frame.Show(True)  #显示
    app.MainLoop()      # 交出执行权,进入消息循环

 

在自定义的MyFrame类中,

首先调用基类的初始化函数__init__;

然后给Frame增加一个控件Panel,接着给panel绑定wx.EVT_MOTION事件,并设定了回调函数self.OnMove;

继续增加控件StaticText;

继续增加控件TextCtrl;

在回调函数OnMove中,设置postion;

 

 

2.复杂一点的demo(使用背景图片,自定义输出)

 

 

还是先从'__main__'看起,怎么这时候没有了Show(),直接进入MainLoop了呢?待我们再细细看下看,wx.APP会在初始化函数__init__中调用OnInit方法,而我们的Show()就是放在OnInit函数中了哈,在OnInit我们可以做一些我们需要初始化的事情。

 

在Frame类中,给Frame控件增加了一个StaticBitmap控件,这样就给Frame加上图片背景了;

如果要自定义输出,就需要在App类型中设定变量outputWindowClass的值,demo上我们设定了outputWindowClass = PyOnDemandOutputWindow;

#PyOnDemandOutputWindow示例,增加了日志输出时间:

 

wxPython封装的很面向对象,使用起来也很顺手哈。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值