天天看點

wxPython 教程 (2)—— Frame

一、wxpython 包的安裝

在 教程 1 中,有人按照給出的代碼運作,出現了如下錯誤:

ImportError: No module named wx

這是因為 wxpython 不是預設的包,需要自己安裝。具體的安裝位址是:

<a href="http://www.wxpython.org/download.php" target="_blank">http://www.wxpython.org/download.php</a>

您可以根據自己系統的平台和python版本選擇相應的包下載下傳,安裝好後就不會出現上面的錯誤了。下載下傳頁面中還有一個 Demo 包,裡面包含了大量的示例代碼和幫助檔案,是學習 wxpython 的好幫手。

二、Frame

Frame 其實就是窗體,前面我們生成窗體的時候沒有給他任何參數,隻生成了一個預設的窗體,生成預設窗體的代碼如下:

frame = wx.Frame(None)

其實 wx.Frame 可以傳入很多參數,由此來控制生成窗體的樣式和行為,現在我們來看看 Frame構造函數的原型:

__init__(self, Window parent, int id=-1, String title=EmptyString, 

            Point pos=DefaultPosition, Size size=DefaultSize, 

            long style=DEFAULT_FRAME_STYLE, String name=FrameNameStr)

參數1:parent

父窗體。如果沒有父窗體,可以設為 None。

參數2:id

窗體編号。如果設定為-1,則系統自動給他配置設定一個編号。預設為-1.

參數3:title

窗體的标題欄,即Caption。預設為空。

參數4:pos

窗體的位置坐标。預設值為(-1,-1),則窗體的位置由系統決定。

參數5:size

窗體的大小。預設值為(-1,-1),則窗體的大小由系統決定。

參數6:style

窗體樣式。預設值為 DEFAULT_FRAME_STYLE

預設樣式 DEFAULT_FRAME_STYLE 是下面這些值的複合:

wxMINIMIZE_BOX | wxMAXIMIZE_BOX | wxRESIZE_BORDER | wxSYSTEM_MENU | wxCAPTION | wxCLOSE_BOX | wxCLIP_CHILDREN

它包括最小化按鈕、最大化按鈕、系統菜單、标題欄、關閉按鈕、可變大小等等。您也可以根據自己的需求改變樣式,具體請參照幫助。

參數7:name

窗體名稱。

可以看到,7個參數中6個都有預設值,隻有第一個參數 parent 需要設定一下,是以一個最簡單的窗體就是:

frame = wx.Frame(None)

三、幾個小例子

窗體标題:

frame = wx.Frame(None,title="Hello World")

位置和大小:

frame = wx.Frame(None,title="世界你好",size=(300,150),pos=(200,200))

樣式一:隻有一個光秃秃的标題欄

frame = wx.Frame(None,style=wx.CAPTION)

樣式二:隻有客戶區,沒有标題欄,也不能改變大小

frame = wx.Frame(None,style=0)

樣式三:隻有一個關閉按鈕,不能改變大小

frame = wx.Frame(None,style= wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX)

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

本文轉自左洸部落格園部落格,原文連結:http://www.cnblogs.com/myqiao/archive/2009/10/07/1578835.html,如需轉載請自行聯系原作者