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引用的特點,每次這個文件被引用,其中的兩行代碼都回被調用,這並不是我們期望的。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章