摘要:文章目錄初步排版梳理代碼優化結構為面向對象總結關于窗體實現的總體思路梳理初步排版梳理代碼試驗帶標簽文字的文本框初始化定義窗體試驗定義定義標簽最小長度定義文本框定義標簽最大長度定義文本框定義復選框包含大寫字母包含小寫字母
# 試驗帶標簽文字的文本框import wx# 初始化APPapp = wx.App()# 定義窗體window = wx.Frame(None, title="試驗", size=(500, 500))# 定義panelpanel = wx.Panel(window)# 定義標簽lblmin = wx.StaticText(panel, label="最小長度")# 定義文本框txtmin = wx.TextCtrl(panel)# 定義標簽lblmax = wx.StaticText(panel, label="最大長度")# 定義文本框txtmax = wx.TextCtrl(panel)# 定義復選框chkB1 = wx.CheckBox(panel, label="包含大寫字母")chkB2= wx.CheckBox(panel, label="包含小寫字母")chkB3 = wx.CheckBox(panel, label="包含數字")chkB4= wx.CheckBox(panel, label="包含符號")chkB5 = wx.CheckBox(panel, label="包含序號")chkB6 = wx.CheckBox(panel, label="包含郵箱后綴")chkB7 = wx.CheckBox(panel, label="保存到文件")# 定義標簽lblfile = wx.StaticText(panel, label="文件名及路徑")# 定義文本框txtfile = wx.TextCtrl(panel)# 定義標簽lblshu = wx.StaticText(panel, label="數據總數")# 定義文本框txtshu = wx.TextCtrl(panel)# 定義2個按鈕butOK = wx.Button(panel, label="確定")butreset = wx.Button(panel, label="重置")# 設置布局box1 = wx.BoxSizer() # 默認是橫向的box1.Add(lblmin, flag=wx.LEFT | wx.TOP, border=10)box1.Add(txtmin, flag=wx.LEFT | wx.TOP, border=10)box1.Add(lblmax, flag=wx.LEFT | wx.TOP, border=10)box1.Add(txtmax, flag=wx.LEFT | wx.TOP, border=10)# 設置第二行的布局box2 = wx.BoxSizer() # 默認是橫向的box2.Add(chkB1, flag=wx.LEFT | wx.TOP, border=10)box2.Add(chkB2, flag=wx.LEFT | wx.TOP, border=10)# 設置第三行的布局box3 = wx.BoxSizer() # 默認是橫向的box3.Add(chkB3, flag=wx.LEFT | wx.TOP, border=10)box3.Add(chkB4, flag=wx.LEFT | wx.TOP, border=10)# 設置第四行的布局box4 = wx.BoxSizer() # 默認是橫向的box4.Add(chkB5, flag=wx.LEFT | wx.TOP, border=10)box4.Add(chkB6, flag=wx.LEFT | wx.TOP, border=10)# 設置第五行的布局box5 = wx.BoxSizer() # 默認是橫向的box5.Add(chkB7, flag=wx.LEFT | wx.TOP, border=10)box5.Add(lblfile, flag=wx.LEFT | wx.TOP, border=10)box5.Add(txtfile, flag=wx.LEFT | wx.TOP, border=10)# 設置第六行的布局box6 = wx.BoxSizer() # 默認是橫向的box6.Add(lblshu, flag=wx.LEFT | wx.TOP, border=10)box6.Add(txtshu, flag=wx.LEFT | wx.TOP, border=10)# 設置第七行的布局box7 = wx.BoxSizer() # 默認是橫向的box7.Add(butOK, flag=wx.LEFT | wx.TOP, border=10)box7.Add(butreset, flag=wx.LEFT | wx.TOP, border=10)# 設置垂直布局boxFinal = wx.BoxSizer(wx.VERTICAL)boxFinal.Add(box1)boxFinal.Add(box2)boxFinal.Add(box3)boxFinal.Add(box4)boxFinal.Add(box5)boxFinal.Add(box6)boxFinal.Add(box7)panel.SetSizer(boxFinal)# 顯示窗體window.Show(True)# 啟動appapp.MainLoop()
# V2.0優化結構---面向對象import wximport string, random# 定義類class GUI_CreatData: # 類的初始化 def __init__(self): # 初始化APP self.app = wx.App() # 定義窗體 self.window = wx.Frame(None, title="試驗", size=(500, 500)) # 定義panel self.panel = wx.Panel(self.window) # 定義標簽 self.lblmin = wx.StaticText(self.panel, label="最小長度") # 定義文本框 self.txtmin = wx.TextCtrl(self.panel) # 定義標簽 self.lblmax = wx.StaticText(self.panel, label="最大長度") # 定義文本框 self.txtmax = wx.TextCtrl(self.panel) # 定義復選框 self.chkB1 = wx.CheckBox(self.panel, label="包含大寫字母") self.chkB2 = wx.CheckBox(self.panel, label="包含小寫字母") self.chkB3 = wx.CheckBox(self.panel, label="包含數字") self.chkB4 = wx.CheckBox(self.panel, label="包含符號") self.chkB5 = wx.CheckBox(self.panel, label="包含序號") self.chkB6 = wx.CheckBox(self.panel, label="包含郵箱后綴") self.chkB7 = wx.CheckBox(self.panel, label="保存到文件") # 定義標簽 self.lblfile = wx.StaticText(self.panel, label="文件名及路徑") # 定義文本框 self.txtfile = wx.TextCtrl(self.panel) # 定義標簽 self.lblshu = wx.StaticText(self.panel, label="數據總數") # 定義文本框 self.txtshu = wx.TextCtrl(self.panel) # 定義2個按鈕 self.butOK = wx.Button(self.panel, label="確定") self.butreset = wx.Button(self.panel, label="重置") # 控件布局 def layout(self): # 設置布局 box1 = wx.BoxSizer() # 默認是橫向的 box1.Add(self.lblmin, flag=wx.LEFT | wx.TOP, border=10) box1.Add(self.txtmin, flag=wx.LEFT | wx.TOP, border=10) box1.Add(self.lblmax, flag=wx.LEFT | wx.TOP, border=10) box1.Add(self.txtmax, flag=wx.LEFT | wx.TOP, border=10) # 設置第二行的布局 box2 = wx.BoxSizer() # 默認是橫向的 box2.Add(self.chkB1, flag=wx.LEFT | wx.TOP, border=10) box2.Add(self.chkB2, flag=wx.LEFT | wx.TOP, border=10) # 設置第三行的布局 box3 = wx.BoxSizer() # 默認是橫向的 box3.Add(self.chkB3, flag=wx.LEFT | wx.TOP, border=10) box3.Add(self.chkB4, flag=wx.LEFT | wx.TOP, border=10) # 設置第四行的布局 box4 = wx.BoxSizer() # 默認是橫向的 box4.Add(self.chkB5, flag=wx.LEFT | wx.TOP, border=10) box4.Add(self.chkB6, flag=wx.LEFT | wx.TOP, border=10) # 設置第五行的布局 box5 = wx.BoxSizer() # 默認是橫向的 box5.Add(self.chkB7, flag=wx.LEFT | wx.TOP, border=10) box5.Add(self.lblfile, flag=wx.LEFT | wx.TOP, border=10) box5.Add(self.txtfile, flag=wx.LEFT | wx.TOP, border=10) # 設置第六行的布局 box6 = wx.BoxSizer() # 默認是橫向的 box6.Add(self.lblshu, flag=wx.LEFT | wx.TOP, border=10) box6.Add(self.txtshu, flag=wx.LEFT | wx.TOP, border=10) # 設置第七行的布局 box7 = wx.BoxSizer() # 默認是橫向的 box7.Add(self.butOK, flag=wx.LEFT | wx.TOP, border=10) box7.Add(self.butreset, flag=wx.LEFT | wx.TOP, border=10) # 設置垂直布局 boxFinal = wx.BoxSizer(wx.VERTICAL) for i in range(1, 8): boxFinal.Add(eval(f"box{i}")) # eval函數將字符串轉換為對象 self.panel.SetSizer(boxFinal) # 運行app def run(self): self.window.Show(True) self.app.MainLoop()if __name__ == "__main__": gui = GUI_CreatData() gui.layout() gui.run()
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/120908.html
摘要:將程序包裝在界面里,可以將輸入通過多種途徑如文本框彈出路徑選擇等輸入到程序里。將輸出通過文本框顯示出來將執行信息如如報錯信息運行進度通過文本框或進度條顯示出來文章安排先介紹安裝和配合的使用。 作為一個程序的開發者,我們僅僅需要在相應路徑通過命令行就可執行那個程序。但是,不懂行的人不理解這個黑框框的東西,陌生領域任何人都沒有安全感,所以他們是拒絕接受一個項目僅僅只是通過一個黑框框來執行的...
摘要:工具可以直接使用方式安裝和的環境配置使用集成開發工具的小白,在安裝庫以后,還要對和進行環境配置,將其集成到中。如果小白的或安裝在其他路徑下,則從對應的目錄找到,或者在資源管理器中搜索文件找到安裝路徑。 ...
摘要:在這個窗口之上,可以添加各種輸入框按鈕文本等,可以增加對各種動作的處理。事件要與特定的控件相綁定,比如按鈕有點擊事件,輸入框有按鍵事件,窗體有關閉事件等。 在大多數時候,我們都在黑黢黢的控制臺里執行 Python 腳本。這看起來很酷很 GEEK。但對于部分場景下的用戶來說,這樣就不大美觀和人性化了:我們需要交互更方便的圖形化產品,也就是 GUI (圖形用戶界面,Graphical Us...
摘要:文章目錄數據個數以及保存文件處理代碼框架后續研發測試工具的思路數據個數以及保存文件處理默認顯示在一個彈出窗體中將保存的數據存入指定文件中清空界面上所有文件的內容根據需要的數量生成測試數據,根據選擇確認是否要保存成文件依 ...
摘要:引言學這么久了,一直想做個界面出來,最近發現有個內置庫,利用它可以很輕松做出一些簡易的界面,首先來看官方對的說明從上面描述中我們不難看出,不管你是系統,還是系統,它都可以生成相對應的操作界面,這就是所謂的跨平臺。 showImg(https://segmentfault.com/img/remote/1460000018532942?w=1078&h=1076); 0.引言 學Pyth...
閱讀 720·2021-11-24 10:30
閱讀 1253·2021-09-24 09:48
閱讀 3074·2021-09-24 09:47
閱讀 3584·2019-08-29 17:11
閱讀 2874·2019-08-29 15:38
閱讀 2269·2019-08-29 11:03
閱讀 3593·2019-08-26 12:15
閱讀 1007·2019-08-26 10:45