天天看點

wxPython 筆記(8)設定窗體的樣式

在前面的學習筆記中,我們已經學習過了wx.Frame 初始化函數的幾個參數,現在來回顧一下,分别是:

第一個參數 parent:父窗體的引用,如果沒有則傳入None;

第二個參數 id:視窗的 id 号碼,一般傳入wx.ID_ANY;

第三個參數 title:窗體的标題;

第四個參數 pos:窗體的位置;

第五個參數 size:窗體的大小;

下面我們學習

第六個參數 style:窗體的樣式;

窗體的樣式預設值為 wx.DEFAULT_FRAME_STYLE

wx.DEFAULT_FRAME_STYLE 其實是一些列值的組合,即

wx.MINIMIZE_BOX | wx.MAXIMIZE_BOX | wx.RESIZE_BORDER | wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX | wx.CLIP_CHILDREN 

這些值表示窗體有最大化按鈕、最小化按鈕、可改變大小的邊框、系統菜單、标題欄、關閉按鈕等等

如果我們不使用預設的樣式,就可以通過自己組合來改變窗體的樣式。

下面的代碼分别建立了六種不同樣式的窗體,在代碼中有詳細地注釋:

<a></a>

代碼

 1 #!/usr/bin/python

 2 # -*- coding: GBK -*-

 3 

 4 import wx

 5 

 6 """

 7 設定窗體樣式

 8 """

 9 

10 class MyFrame(wx.Frame):

11     

12     def __init__(self,_title,_style):

13         #隻有一個關閉按鈕,不能改變大小

14         wx.Frame.__init__(self,parent=None,id=wx.ID_ANY,title=_title,size=(190,100),style=_style)

15         #顯示

16         self.Show()

17 

18 if __name__=='__main__':

19     #初始化程式

20     app=wx.App()

21     

22     #預設樣式

23     # wx.DEFAULT_FRAME_STYLE = wx.MINIMIZE_BOX | wx.MAXIMIZE_BOX | wx.RESIZE_BORDER | wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX | wx.CLIP_CHILDREN

24     f1=MyFrame("#1",wx.DEFAULT_FRAME_STYLE)

25     f1.MoveXY(100,100)

26     

27     # 隻有客戶區,沒有标題欄,也不能改變大小

28     f2=MyFrame("#2",0)

29     f2.MoveXY(300,100)

30 

31     # 隻有一個光秃秃的标題欄

32     f3=MyFrame("#3",wx.CAPTION)

33     f3.MoveXY(500,100)

34 

35     # 标題欄、系統菜單,隻有移動功能

36     f4=MyFrame("#4",wx.CAPTION | wx.SYSTEM_MENU )

37     f4.MoveXY(700,100)

38 

39     # 标題欄、可以改變大小

40     f5=MyFrame("#5",wx.CAPTION |  wx.RESIZE_BORDER)

41     f5.MoveXY(900,100)

42     

43     # 标題欄、可以改變大小

44     f6=MyFrame("#6",wx.CAPTION | wx.SYSTEM_MENU | wx.MINIMIZE_BOX | wx.CLOSE_BOX)

45     f6.MoveXY(1100,100)

46 

47     #開始消息循環

48     app.MainLoop()

49  

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

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