wxPython 入门

wxPython是一个Python的GUI库,详细参看:www.wxpython.org

 

wxPython基于wxWidgets,它是一个跨平台的、使用C++语言完成的UI库,详细但看:www.wxwidgets.org

wxPython不仅仅是对wxWidgets的封装,它还使用wxPython完成了部分组件的开发。

 

要想使用wxPython需要安装python和wxPython,相关安装方法请大家参看对应的文档,由于我使用的是Mac Leopard,这两个软件已经预先安装了,所以我就不需要在安装。

 

我使用的编辑器是TextMate,当让vi,emacs,jedit都可以,为了方便我使用了TextMate,非Mac用户可以使用vi,可能比TextMate还要强大。

 

第一个简单的wx应用程序

 

 

 

逐行解释

#!/usr/bin/env python

这被称为shebang,用来告诉python解析器的位置,如果这个文件被设定了执行权限,那么通过 % spare.py 可以直接执行这个文件。

 

"""Spare.py is a starting point for a wxPython program."""

这被称为这个模块的docstring,相当于这个模块的说明文档,方便其他开发人员阅读,可以使用如下的方式获得:

 

 

>>> import spare 

>>> print spare.__doc__ 

Spare.py is a starting point for simple wxPython programs. 

>>> 

 

 

 

class Frame(wx.Frame):

pass

声明了wx.Frame的一个子类,该类表示了一个Frame。

这里的Frame比较简单,只是一个空白窗口,如果需要复杂的Frame,可以在这个类中完成。

 

 

 

 

class App(wx.App):

def OnInit(self):

self.frame = Frame(parent=None, title="Spare")

self.frame.Show()

self.SetTopWindow(self.frame)

return True

 

 

声明了一个wx.App的子类,实现了OnInit方法,这个方法会被wx自动调用,以此来显示我们的应用程序,其中的frame对象为上述我们自定义的Frame子类。SetTopWindow方法是一个可选方法,用来告诉wx应用程序那个Frame是主Frame。

 

if __name__ == '__main__':

这用来判断这个文件是作为应用程序直接执行的还是被引用的。

如果被引用,那么__name__变量的内容为文件的名字,可以使用如下的代码查看。

 

>>> import spare 

>>> spare.__name__ 

'spare' 

>>> 

如果这个文件是被直接执行的,那么__name__变量的内容会是“__main__”
如果我们不做这个测试的话,根据python引用的特点,每次这个文件被引用,其中的两行代码都回被调用,这并不是我们期望的。

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值