Python课堂首页 Python官方网站

wxPython “Hello World”

时间:2009-09-10 14:09:02  来源:网络文章

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应用程序

 

  1. #!/usr/bin/env python  
  2. """Spare.py is a starting point for a wxPython program."""  
  3. import wx  
  4. class Frame(wx.Frame):  
  5.     pass  
  6.       
  7. class App(wx.App):  
  8.     def OnInit(self):  
  9.         self.frame = Frame(parent=None, title="Spare")  
  10.         self.frame.Show()  
  11.         self.SetTopWindow(self.frame)  
  12.         return True  
  13.           
  14. if __name__ == '__main__':  
  15.     app = App()  
  16.     app.MainLoop()  

 

 

逐行解释

#!/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引用的特点,每次这个文件被引用,其中的两行代码都回被调用,这并不是我们期望的。

关键字: wxPython 入门教程 GUI 

上一篇: Python定时运行脚本
下一篇: python 字符串反转

相关文章:

python网络编程学习初步
在Windows下面第一次开发Django
Django Apache Windows安装配置文档
使用WxPython进行Win32下Python编程
幸福的联姻:Java 和 Python