成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

測試工具研發(fā)_腳本(5):制作略復(fù)雜GUI窗體

DesGemini / 3098人閱讀

摘要:文章目錄初步排版梳理代碼優(yōu)化結(jié)構(gòu)為面向?qū)ο罂偨Y(jié)關(guān)于窗體實現(xiàn)的總體思路梳理初步排版梳理代碼試驗帶標(biāo)簽文字的文本框初始化定義窗體試驗定義定義標(biāo)簽最小長度定義文本框定義標(biāo)簽最大長度定義文本框定義復(fù)選框包含大寫字母包含小寫字母

1、V1.0_GUI初步排版梳理代碼

# 試驗帶標(biāo)簽文字的文本框import wx# 初始化APPapp = wx.App()# 定義窗體window = wx.Frame(None, title="試驗", size=(500, 500))# 定義panelpanel = wx.Panel(window)# 定義標(biāo)簽lblmin = wx.StaticText(panel, label="最小長度")# 定義文本框txtmin = wx.TextCtrl(panel)# 定義標(biāo)簽lblmax = wx.StaticText(panel, label="最大長度")# 定義文本框txtmax = wx.TextCtrl(panel)# 定義復(fù)選框chkB1 = wx.CheckBox(panel, label="包含大寫字母")chkB2= wx.CheckBox(panel, label="包含小寫字母")chkB3 = wx.CheckBox(panel, label="包含數(shù)字")chkB4= wx.CheckBox(panel, label="包含符號")chkB5 = wx.CheckBox(panel, label="包含序號")chkB6 = wx.CheckBox(panel, label="包含郵箱后綴")chkB7 = wx.CheckBox(panel, label="保存到文件")# 定義標(biāo)簽lblfile = wx.StaticText(panel, label="文件名及路徑")# 定義文本框txtfile = wx.TextCtrl(panel)# 定義標(biāo)簽lblshu = wx.StaticText(panel, label="數(shù)據(jù)總數(shù)")# 定義文本框txtshu = wx.TextCtrl(panel)# 定義2個按鈕butOK = wx.Button(panel, label="確定")butreset = wx.Button(panel, label="重置")# 設(shè)置布局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)# 設(shè)置第二行的布局box2 = wx.BoxSizer()  # 默認是橫向的box2.Add(chkB1, flag=wx.LEFT | wx.TOP, border=10)box2.Add(chkB2, flag=wx.LEFT | wx.TOP, border=10)# 設(shè)置第三行的布局box3 = wx.BoxSizer()  # 默認是橫向的box3.Add(chkB3, flag=wx.LEFT | wx.TOP, border=10)box3.Add(chkB4, flag=wx.LEFT | wx.TOP, border=10)# 設(shè)置第四行的布局box4 = wx.BoxSizer()  # 默認是橫向的box4.Add(chkB5, flag=wx.LEFT | wx.TOP, border=10)box4.Add(chkB6, flag=wx.LEFT | wx.TOP, border=10)# 設(shè)置第五行的布局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)# 設(shè)置第六行的布局box6 = wx.BoxSizer()  # 默認是橫向的box6.Add(lblshu, flag=wx.LEFT | wx.TOP, border=10)box6.Add(txtshu, flag=wx.LEFT | wx.TOP, border=10)# 設(shè)置第七行的布局box7 = wx.BoxSizer()  # 默認是橫向的box7.Add(butOK, flag=wx.LEFT | wx.TOP, border=10)box7.Add(butreset, flag=wx.LEFT | wx.TOP, border=10)# 設(shè)置垂直布局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()

2、V2.0_優(yōu)化結(jié)構(gòu)為面向?qū)ο?/h1>
# V2.0優(yōu)化結(jié)構(gòu)---面向?qū)ο?/span>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)        # 定義標(biāo)簽        self.lblmin = wx.StaticText(self.panel, label="最小長度")        # 定義文本框        self.txtmin = wx.TextCtrl(self.panel)        # 定義標(biāo)簽        self.lblmax = wx.StaticText(self.panel, label="最大長度")        # 定義文本框        self.txtmax = wx.TextCtrl(self.panel)        # 定義復(fù)選框        self.chkB1 = wx.CheckBox(self.panel, label="包含大寫字母")        self.chkB2 = wx.CheckBox(self.panel, label="包含小寫字母")        self.chkB3 = wx.CheckBox(self.panel, label="包含數(shù)字")        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="保存到文件")        # 定義標(biāo)簽        self.lblfile = wx.StaticText(self.panel, label="文件名及路徑")        # 定義文本框        self.txtfile = wx.TextCtrl(self.panel)        # 定義標(biāo)簽        self.lblshu = wx.StaticText(self.panel, label="數(shù)據(jù)總數(shù)")        # 定義文本框        self.txtshu = wx.TextCtrl(self.panel)        # 定義2個按鈕        self.butOK = wx.Button(self.panel, label="確定")        self.butreset = wx.Button(self.panel, label="重置")    # 控件布局    def layout(self):        # 設(shè)置布局        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)        # 設(shè)置第二行的布局        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)        # 設(shè)置第三行的布局        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)        # 設(shè)置第四行的布局        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)        # 設(shè)置第五行的布局        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)        # 設(shè)置第六行的布局        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)        # 設(shè)置第七行的布局        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)        # 設(shè)置垂直布局        boxFinal = wx.BoxSizer(wx.VERTICAL)        for i in range(1, 8):            boxFinal.Add(eval(f"box{i}"))  # eval函數(shù)將字符串轉(zhuǎn)換為對象        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()

3、V3.0 總結(jié)

關(guān)于GUI窗體實現(xiàn)的總體思路梳理

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/120908.html

相關(guān)文章

  • 圖解——PyQt4從入門到運用

    摘要:將程序包裝在界面里,可以將輸入通過多種途徑如文本框彈出路徑選擇等輸入到程序里。將輸出通過文本框顯示出來將執(zhí)行信息如如報錯信息運行進度通過文本框或進度條顯示出來文章安排先介紹安裝和配合的使用。 作為一個程序的開發(fā)者,我們僅僅需要在相應(yīng)路徑通過命令行就可執(zhí)行那個程序。但是,不懂行的人不理解這個黑框框的東西,陌生領(lǐng)域任何人都沒有安全感,所以他們是拒絕接受一個項目僅僅只是通過一個黑框框來執(zhí)行的...

    史占廣 評論0 收藏0
  • Python 小白的 PyQt5 項目實戰(zhàn)(1)安裝與環(huán)境配置

    摘要:工具可以直接使用方式安裝和的環(huán)境配置使用集成開發(fā)工具的小白,在安裝庫以后,還要對和進行環(huán)境配置,將其集成到中。如果小白的或安裝在其他路徑下,則從對應(yīng)的目錄找到,或者在資源管理器中搜索文件找到安裝路徑。 ...

    Chao 評論0 收藏0
  • Python的門面擔(dān)當(dāng) - Tkinter

    摘要:在這個窗口之上,可以添加各種輸入框按鈕文本等,可以增加對各種動作的處理。事件要與特定的控件相綁定,比如按鈕有點擊事件,輸入框有按鍵事件,窗體有關(guān)閉事件等。 在大多數(shù)時候,我們都在黑黢黢的控制臺里執(zhí)行 Python 腳本。這看起來很酷很 GEEK。但對于部分場景下的用戶來說,這樣就不大美觀和人性化了:我們需要交互更方便的圖形化產(chǎn)品,也就是 GUI (圖形用戶界面,Graphical Us...

    Lucky_Boy 評論0 收藏0
  • 測試工具研發(fā)_腳本(最終版):數(shù)據(jù)個數(shù)以及保存文件的處理

    摘要:文章目錄數(shù)據(jù)個數(shù)以及保存文件處理代碼框架后續(xù)研發(fā)測試工具的思路數(shù)據(jù)個數(shù)以及保存文件處理默認顯示在一個彈出窗體中將保存的數(shù)據(jù)存入指定文件中清空界面上所有文件的內(nèi)容根據(jù)需要的數(shù)量生成測試數(shù)據(jù),根據(jù)選擇確認是否要保存成文件依 ...

    jindong 評論0 收藏0
  • Python又把GUI界面攻下了,今天就告訴你怎么玩

    摘要:引言學(xué)這么久了,一直想做個界面出來,最近發(fā)現(xiàn)有個內(nèi)置庫,利用它可以很輕松做出一些簡易的界面,首先來看官方對的說明從上面描述中我們不難看出,不管你是系統(tǒng),還是系統(tǒng),它都可以生成相對應(yīng)的操作界面,這就是所謂的跨平臺。 showImg(https://segmentfault.com/img/remote/1460000018532942?w=1078&h=1076); 0.引言 學(xué)Pyth...

    SunZhaopeng 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<