wxFormBuilder是款開源,跨平臺的界面編輯設(shè)計工具,用于生成跨平臺編譯代碼,支持快速生成C++,python, Lua 等代碼和 XRC 資源文件,輔助快速搭建高效的帶有GUI界面編輯器的開發(fā)環(huán)境。 wxFormBuilder使用教程1、準(zhǔn)備一個窗體。 點擊wxformbuilder上方的標(biāo)簽“forms”,并點擊標(biāo)簽下方的第一個類似窗體的圖標(biāo)“Frame” 然后,下面就會出現(xiàn)一個窗體。但是現(xiàn)在還不能直接往窗體上添加各種控件。咱們還需要給窗體添加布局器BoxSizer。 2、添加布局器 點擊wxformbuilder上方的標(biāo)簽“Layout,并點擊標(biāo)簽下方的第一個圖標(biāo)“wxBoxSizer”。添加一個只有以列控件布局的布局器。這時,窗體上并沒有什么變化。但是窗口左邊的目錄樹有變化了,窗體下多了一個布局器。 3、放置控件 保持目錄樹如上圖一樣,選中布局器bSizer1。這樣,添加進(jìn)窗體的控件都屬于并使用這個布局器的方法,單列布局。就是,所有添加上去的控件都是在一列上。 點擊wxformbuilder上方的標(biāo)簽“Common,順次并點擊標(biāo)簽下方的地三個圖標(biāo)“wxStaticText”,第四個圖標(biāo)“wxTextCtrl”,第一個圖標(biāo)“wxButton”。這樣,窗體設(shè)置上就會多出一個文字標(biāo)簽、一個文本框和按鈕。 4、修改控件屬性 點擊設(shè)計窗體上的控件,或者左邊樹形結(jié)構(gòu)的控件名。在wxformbuilder右邊的編輯欄都會自動變成對應(yīng)控件的屬性編輯。在此,你可以修改該控件的和窗體的各類屬性。 此處,我們將會修改主窗體的name,文本編輯框的name,文字標(biāo)簽的label,和按鍵的label。 4.1 修改主窗體的name 主窗體的name和控件的name決定了你之后要使用的python代碼時,使用的實體對象的變量名。點擊樹形結(jié)構(gòu)的MyFrame1,并在右邊屬性編輯欄修改窗體的name值為“BaseMainWind。如下圖: 此時,左邊樹形中對應(yīng)的主窗體也會跟著改變名字,如下圖: 4.2修改控件的屬性 依照同樣的方法,在右邊的編輯框修改對應(yīng)控件的屬性。 文本編輯框wxTextCtrl的name屬性修改為“text_main”,文字標(biāo)簽wxStaticText的label屬性修改為“主窗口測試”,和按鍵wxButton的label屬性修改為“清空”,按鍵wxButton的name屬性修改為“button_main”。 剩下name屬性的直接使用默認(rèn)的好了。 修改完只有應(yīng)該如下圖所示: 5、 添加控件的觸發(fā)事情函數(shù) 當(dāng)按鈕被按下時,咱們應(yīng)該觸發(fā)一個函數(shù),將文本框里的內(nèi)容清空。所以,應(yīng)該給按鈕控件添加一個觸發(fā)按下之后應(yīng)該使用的處理函數(shù)。 點擊選中按鈕控件button_main,在右邊的屬性編輯框,點擊上面的另外一個標(biāo)簽“Events”。添加一個給“OnButtonClick”的處理函數(shù)名:main_button_click。如下圖: 6、測試窗體內(nèi)容。 窗體設(shè)計基本完事了,咱們現(xiàn)在稍微測試一個窗體的樣子。按下F5,彈出對話框后點擊確定。這樣就wxformbuilder簡單將咱們設(shè)計的窗體編譯C++的顯示方法,顯示出窗體的樣子。如下圖: 由于咱們沒有制定主窗口的大小,也沒有拖動窗口。所以直接套用默認(rèn)值就是這樣的以適合控件布局為大小的窗口。但是,不妨礙咱們做測試。 7、保存給python用的代碼。 點擊選中左邊樹形圖的最上面的圖標(biāo),即選中工程。 再點擊最下面標(biāo)簽的python,即可出現(xiàn)在wxPython的代碼了。如下圖: 此時,全選上面的代碼。右鍵,【Copy】。 新建一個py源文件,并將全部代碼粘貼進(jìn)去,保存名為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__方法,這樣會導(dǎo)致窗體啟動失敗。咱們新建一個,然后再調(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 然后就能運行界面了,試一試點擊哪個【清空】按鈕。是不是輸入框里的文字消失了。 使用編程語言寫的程序,由于每條指令都對應(yīng)計算機一個特定的基本動作,所以程序占用內(nèi)存少、執(zhí)行效率高。 |
1深度技術(shù)win10正式版ghost(32位)旗艦......
2番茄花園win10 X86 ghost 標(biāo)準(zhǔn)通......
3番茄花園Win10_Ghost Win10 64......
4雨林木風(fēng) GHOST WIN10 X64 快速裝......
5深度技術(shù)GHOST WIN10 X64 尊貴專業(yè)......
6筆記本W(wǎng)in10系統(tǒng) 64位官方正式版2023年......
7筆記本win10正式版ghost(32位)旗艦免......
8雨林木風(fēng)win10(32位)ghost 修正專業(yè)......