亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

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

DesGemini / 3126人閱讀

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

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

# 試驗(yàn)帶標(biāo)簽文字的文本框import wx# 初始化APPapp = wx.App()# 定義窗體window = wx.Frame(None, title="試驗(yàn)", size=(500, 500))# 定義panelpanel = wx.Panel(window)# 定義標(biāo)簽lblmin = wx.StaticText(panel, label="最小長(zhǎng)度")# 定義文本框txtmin = wx.TextCtrl(panel)# 定義標(biāo)簽lblmax = wx.StaticText(panel, label="最大長(zhǎng)度")# 定義文本框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="包含符號(hào)")chkB5 = wx.CheckBox(panel, label="包含序號(hào)")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個(gè)按鈕butOK = wx.Button(panel, label="確定")butreset = wx.Button(panel, label="重置")# 設(shè)置布局box1 = wx.BoxSizer()  # 默認(rèn)是橫向的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()  # 默認(rèn)是橫向的box2.Add(chkB1, flag=wx.LEFT | wx.TOP, border=10)box2.Add(chkB2, flag=wx.LEFT | wx.TOP, border=10)# 設(shè)置第三行的布局box3 = wx.BoxSizer()  # 默認(rèn)是橫向的box3.Add(chkB3, flag=wx.LEFT | wx.TOP, border=10)box3.Add(chkB4, flag=wx.LEFT | wx.TOP, border=10)# 設(shè)置第四行的布局box4 = wx.BoxSizer()  # 默認(rèn)是橫向的box4.Add(chkB5, flag=wx.LEFT | wx.TOP, border=10)box4.Add(chkB6, flag=wx.LEFT | wx.TOP, border=10)# 設(shè)置第五行的布局box5 = wx.BoxSizer()  # 默認(rèn)是橫向的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()  # 默認(rèn)是橫向的box6.Add(lblshu, flag=wx.LEFT | wx.TOP, border=10)box6.Add(txtshu, flag=wx.LEFT | wx.TOP, border=10)# 設(shè)置第七行的布局box7 = wx.BoxSizer()  # 默認(rèn)是橫向的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)# 啟動(dòng)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="試驗(yàn)", size=(500, 500))        # 定義panel        self.panel = wx.Panel(self.window)        # 定義標(biāo)簽        self.lblmin = wx.StaticText(self.panel, label="最小長(zhǎng)度")        # 定義文本框        self.txtmin = wx.TextCtrl(self.panel)        # 定義標(biāo)簽        self.lblmax = wx.StaticText(self.panel, label="最大長(zhǎng)度")        # 定義文本框        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="包含符號(hào)")        self.chkB5 = wx.CheckBox(self.panel, label="包含序號(hào)")        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個(gè)按鈕        self.butOK = wx.Button(self.panel, label="確定")        self.butreset = wx.Button(self.panel, label="重置")    # 控件布局    def layout(self):        # 設(shè)置布局        box1 = wx.BoxSizer()  # 默認(rèn)是橫向的        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()  # 默認(rèn)是橫向的        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()  # 默認(rèn)是橫向的        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()  # 默認(rèn)是橫向的        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()  # 默認(rèn)是橫向的        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()  # 默認(rèn)是橫向的        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()  # 默認(rèn)是橫向的        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)換為對(duì)象        self.panel.SetSizer(boxFinal)    # 運(yùn)行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窗體實(shí)現(xiàn)的總體思路梳理

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/120908.html

相關(guān)文章

  • 圖解——PyQt4從入門到運(yùn)用

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

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

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

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

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

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

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

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

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

    SunZhaopeng 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<