您的位置:極速下載站 → 電腦軟件 → 教育教學 → 編程開發(fā) → wxFormBuilder
wxFormBuilder是一款國外專業(yè)的窗體制作工具,兼容Windows、Linux、macOS三大操作系統(tǒng),你可以把它看成一個第三方VB.NET或VB6.0開發(fā)環(huán)境,你可以創(chuàng)建一個窗口,在窗口里面添加控件和代碼,比較后生成一個EXE可執(zhí)行程序。
使用方法
1、準備一個窗體。
點擊wxformbuilder上方的標簽“forms”,并點擊標簽下方的第一個類似窗體的圖標“Frame”
然后,下面就會出現(xiàn)一個窗體。但是現(xiàn)在還不能直接往窗體上添加各種控件。咱們還需要給窗體添加布局器BoxSizer。
2、添加布局器
點擊wxformbuilder上方的標簽“Layout,并點擊標簽下方的第一個圖標“wxBoxSizer”。添加一個只有以列控件布局的布局器。這時,窗體上并沒有什么變化。但是窗口左邊的目錄樹有變化了,窗體下多了一個布局器。
3、放置控件
保持目錄樹如上圖一樣,選中布局器bSizer1。這樣,添加進窗體的控件都屬于并使用這個布局器的方法,單列布局。就是,所有添加上去的控件都是在一列上。
點擊wxformbuilder上方的標簽“Common,順次并點擊標簽下方的地三個圖標“wxStaticText”,第四個圖標“wxTextCtrl”,第一個圖標“wxButton”。這樣,窗體設(shè)置上就會多出一個文字標簽、一個文本框和按鈕。
4、修改控件屬性
點擊設(shè)計窗體上的控件,或者左邊樹形結(jié)構(gòu)的控件名。在wxformbuilder右邊的編輯欄都會自動變成對應(yīng)控件的屬性編輯。在此,你可以修改該控件的和窗體的各類屬性。
此處,我們將會修改主窗體的name,文本編輯框的name,文字標簽的label,和按鍵的label。
4.1 修改主窗體的name
主窗體的name和控件的name決定了你之后要使用的python代碼時,使用的實體對象的變量名。點擊樹形結(jié)構(gòu)的MyFrame1,并在右邊屬性編輯欄修改窗體的name值為“BaseMainWind。如下圖:
此時,左邊樹形中對應(yīng)的主窗體也會跟著改變名字,如下圖:
4.2修改控件的屬性
依照同樣的方法,在右邊的編輯框修改對應(yīng)控件的屬性。
文本編輯框wxTextCtrl的name屬性修改為“text_main”,文字標簽wxStaticText的label屬性修改為“主窗口測試”,和按鍵wxButton的label屬性修改為“清空”,按鍵wxButton的name屬性修改為“button_main”。
剩下name屬性的我偷個懶,都懶得改了。直接使用默認的好了。
修改完只有應(yīng)該如下圖所示:
5、 添加控件的觸發(fā)事情函數(shù)
當按鈕被按下時,咱們應(yīng)該觸發(fā)一個函數(shù),將文本框里的內(nèi)容清空。所以,應(yīng)該給按鈕控件添加一個觸發(fā)按下之后應(yīng)該使用的處理函數(shù)。
點擊選中按鈕控件button_main,在右邊的屬性編輯框,點擊上面的另外一個標簽“Events”。添加一個給“OnButtonClick”的處理函數(shù)名:main_button_click。如下圖:
6、測試窗體內(nèi)容。
窗體設(shè)計基本完事了,咱們現(xiàn)在稍微測試一個窗體的樣子。按下F5,彈出對話框后點擊確定。這樣就wxformbuilder簡單將咱們設(shè)計的窗體編譯C++的顯示方法,顯示出窗體的樣子。如下圖:
由于咱們沒有制定主窗口的大小,也沒有拖動窗口。所以直接套用默認值就是這樣的以適合控件布局為大小的窗口。但是,不妨礙咱們做測試。
7、保存給python用的代碼。
點擊選中左邊樹形圖的比較上面的圖標,即選中工程。
再點擊比較下面標簽的python,即可出現(xiàn)在wxPython的代碼了。如下圖:
此時,全選上面的代碼。右鍵,【Copy】。
新建一個py源文件,并將全部代碼粘貼進去,保存名為basewin.py的python代碼源文件。
至此,wxPython代碼就已經(jīng)生成完畢了,請不要輕易變動文件里的代碼。下面就是咱們調(diào)用窗體的主要邏輯代碼了。
8、編輯邏輯代碼
將邏輯代碼保存為main_win.py
#!/usr/bin/env python# -*- coding: utf-8 -*-import wximport basewin# 首先,咱們從剛剛源文件中將主窗體繼承下來.就是修改過name屬性的主窗體咯。class MianWindow(basewin.baseMainWindow):
# 咱們給個初始化函數(shù),將文本框初始填有‘主窗口測試’幾個字
# 不能直接覆蓋原有__ini__方法,這樣會導致窗體啟動失敗。咱們新建一個,然后再調(diào)用
def init_main_window(self):
self.text_main.SetValue('主窗口測試')
# 將點擊按鈕清空文本框的,功能寫成函數(shù)
def main_button_click(self,event):
self.text_main.Clear()if __name__ == '__main__':
app = wx.App()
# None表示的是此窗口沒有上級父窗體。如果有,就直接在父窗體代碼調(diào)用的時候填入‘self’就好了。
main_win = MianWindow(None)
main_win.init_main_window()
main_win.Show()
app.MainLoop()
將上面的邏輯代碼保存為main_win.py,并跟剛剛生成那個basewin.py,放在同一個目錄里。再給main_win.py可執(zhí)行的權(quán)限。
chmod +x main_win.py
./main_win.py
然后就能運行界面了,試一試點擊哪個【清空】按鈕。是不是輸入框里的文字消失了。
文件信息
文件大。41595025 字節(jié)
MD5:B2473115F2856017D3B11115A48E1A27
SHA1:1F9FE202699D8CD8651DF1FC0E678961FCB2312C
CRC32:ABAFD54B
官方網(wǎng)站:http://wxformbuilder.org/