在前面的學習筆記中,我們已經學習過了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,如需轉載請自行聯系原作者