例子:
代碼如下:
#!/usr/bin/python
# -*- coding: GBK -*-
# simple.py
import wx
app = wx.App()
frame = wx.Frame(None)
frame.Show()
app.MainLoop()
例2,
代碼如下:
#!/usr/bin/python
告訴程序 python 解釋器的路徑,只是在 linux 系統(tǒng)下有用,在 Windows 下寫上這行代碼不起作用,但是也沒問題
# -*- coding: GBK -*-
告訴 python 系統(tǒng)字符編碼,這樣我們就可以在程序中使用中文漢字了,如果沒有這一行就是亂碼。Windows 下是 GBK,Linux 下是UTF-8
app = wx.App()
初始化應(yīng)用程序
frame = wx.Frame(None)
frame.Show()
創(chuàng)建一個(gè) Frame (就是窗體),并顯示出來。
app.MainLoop()
應(yīng)用程序進(jìn)入消息循環(huán)
Frame 其實(shí)就是窗體,前面生成窗體時(shí)沒有給他任何參數(shù),只生成了一個(gè)默認(rèn)的窗體,生成默認(rèn)窗體的代碼:
frame = wx.Frame(None)
其實(shí) wx.Frame 可以傳入很多參數(shù),由此來控制生成窗體的樣式和行為,現(xiàn)在來看看 Frame構(gòu)造函數(shù)的原型:
__init__(self, Window parent, int id=-1, String title=EmptyString,
Point pos=DefaultPosition, Size size=DefaultSize,
long style=DEFAULT_FRAME_STYLE, String name=FrameNameStr)
參數(shù)1:parent
當(dāng)前窗口的父窗口,如果當(dāng)前窗口是top-level window的話,則parent=None,如果不是頂層窗口,則它的值為所屬frame的名字
參數(shù)2:id
窗體編號。如果設(shè)置為-1,則系統(tǒng)自動給他分配一個(gè)編號。默認(rèn)為-1.
參數(shù)3:title
窗體的標(biāo)題欄,即Caption。默認(rèn)為空。
參數(shù)4:pos
窗體的位置坐標(biāo)。默認(rèn)值為(-1,-1),則窗體的位置由系統(tǒng)決定。
參數(shù)5:size
窗體的大小。默認(rèn)值為(-1,-1),則窗體的大小由系統(tǒng)決定。
參數(shù)6:style
窗體樣式。默認(rèn)值為 DEFAULT_FRAME_STYLE
默認(rèn)樣式 DEFAULT_FRAME_STYLE 是下面這些值的復(fù)合:
wx.MINIMIZE_BOX | wx.MAXIMIZE_BOX | wx.RESIZE_BORDER |
wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX | wx.CLIP_CHILDREN
它包括最小化按鈕、最大化按鈕、系統(tǒng)菜單、標(biāo)題欄、關(guān)閉按鈕、可變大小等等。您也可以根據(jù)自己的需求改變樣式,具體請參照幫助。
參數(shù)7:name
窗體名稱。
可以看到,7個(gè)參數(shù)中6個(gè)都有默認(rèn)值,只有第一個(gè)參數(shù) parent 需要設(shè)置一下,所以一個(gè)最簡單的窗體就是:
Python代碼 收藏代碼
frame = wx.Frame(None)
窗體標(biāo)題:
Python代碼 收藏代碼
frame = wx.Frame(None,title="Hello World")
位置和大?。?p>Python代碼 收藏代碼
frame = wx.Frame(None,title="世界你好",size=(300,150),pos=(200,200))
樣式一:只有一個(gè)光禿禿的標(biāo)題欄
Python代碼 收藏代碼
frame = wx.Frame(None,style=wx.CAPTION)
樣式二:只有客戶區(qū),沒有標(biāo)題欄,也不能改變大小
Python代碼 收藏代碼
frame = wx.Frame(None,style=0)
樣式三:只有一個(gè)關(guān)閉按鈕,不能改變大小
代碼如下:
frame = wx.Frame(None,style= wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX)
wx.DEFAULT_FRAME_STYLE :這是每個(gè)窗口的缺省風(fēng)格,包含標(biāo)題、可調(diào)節(jié)大小的邊框,最大最小化按鈕、關(guān)閉按鈕和系統(tǒng)菜單。
wx.CAPTION :在框架上增加一個(gè)標(biāo)題欄,它顯示該框架的標(biāo)題屬性。
wx.CLOSE_BOX :指示系統(tǒng)在框架的標(biāo)題欄上顯示一個(gè)關(guān)閉框,使用系統(tǒng)默認(rèn)的位置和樣式。
Wx.FRAME_ON_TOP : 置頂窗口
w x.FRAME_SHAP ED :用這個(gè)樣式創(chuàng)建的框架可以使用SetShape()方法去創(chuàng)建一個(gè)非矩形的窗口。
wx.FRAME_TOOL_WINDOW :通過給框架一個(gè)比正常更小的標(biāo)題欄,使框架看起來像一個(gè)工具框窗口。在Windows下,使用這個(gè)樣式創(chuàng)建的框架不會出現(xiàn)在顯示所有打開窗口的任務(wù)欄上。
wx.MAXIMIZE_BOX :指示系統(tǒng)在框架的標(biāo)題欄上顯示一個(gè)最大化框,使用系統(tǒng)默認(rèn)的位置和樣式。
wx.MINIMIZE_BOX :指示系統(tǒng)在框架的標(biāo)題欄上顯示一個(gè)最小化框,使用系統(tǒng)默認(rèn)的位置和樣式。
wx.RESIZE_BORDER :給框架增加一個(gè)可以改變尺寸的邊框。
wx.SIMPLE_BORDER :沒有裝飾的邊框。不能工作在所有平臺上。
wx.SYSTEM_MENU :增加系統(tǒng)菜單(帶有關(guān)閉、移動、改變尺寸等功能)和關(guān)閉框到這個(gè)窗口。在系統(tǒng)菜單中的改變尺寸和關(guān)閉功能的有效性依賴于wx.MAXIMIZE_BOX, wx.MINIMIZE_BOX和wx.CLOSE_BOX樣式是否被應(yīng)用。
wx.FRAME_EX_META :如果時(shí)在 MacOS 中,這個(gè)屬性用于是否顯示“金屬風(fēng)格”
wx.FRAME_EX_CONTEXTHELP :是否有聯(lián)機(jī)幫助按鈕。
wx.FRAME_FLOAT_ON_PARENT :窗口是否顯示在最上層,與 wxSTAY_ON_TOP 不同,它必須有一個(gè)父窗口。
frame窗體風(fēng)格通過style屬性來設(shè)置,例如:
style=wx.SYSTEM_MENU|wx.MINIMIZE_BOX|wx.CLOSE_BOX|wx.CAPTION
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com