WxPython建立批量錄入框窗口
有個(gè)小項(xiàng)目,碰到需要批量建立輸入框的需求,本文利用WxPython建立批量錄入框窗口
研究了一下WxPython ,實(shí)現(xiàn)了這個(gè)功能。
# coding=utf-8 """ 模塊標(biāo)題:界面相關(guān) 模塊功能:顯示批量錄入框窗口。 開發(fā)人員:seakingx 建立時(shí)間:2018.04.28 最后修改:2018.04.29 """ import wx class GUIFrame(wx.Frame): def __init__(self,app_title,app_size,input_num): self.max_len = input_num wx.Frame.__init__(self, None, -1, app_title, size=(app_size[0], app_size[1])) panel = wx.Panel(self, -1) # 按鈕顯示文字 self.loadButton = wx.Button(panel, label=u"處理數(shù)據(jù)") # 顯示批量輸入框 self.hbox = wx.BoxSizer() self.hbox.Add(self.loadButton, proportion=0, flag=wx.LEFT, border=5) self.vbox = wx.BoxSizer(wx.VERTICAL) self.vbox.Add(self.hbox, proportion=0, flag=wx.EXPAND | wx.ALL, border=5) self.max_line = self.max_len self.max_row = self.max_len self.input_matrix = [] self.init_inputbox(panel) panel.SetSizer(self.vbox) self.loadButton.Bind(wx.EVT_BUTTON, self.OnLoad, self.loadButton) def init_inputbox(self,panel): input_box_i = wx.BoxSizer() input_label = wx.StaticText(panel, label=" ", size=(20, 20), style=wx.ALIGN_LEFT) input_box_i.Add(input_label, proportion=0, flag=wx.LEFT, border=3) for i in range(self.max_line): input_item = wx.StaticText(panel, label=str(i+1), size=(50, 20), style=wx.ALIGN_CENTER) input_box_i.Add(input_item, proportion=0, flag=wx.LEFT, border=3) self.vbox.Add(input_box_i, proportion=0, flag=wx.EXPAND | wx.ALL, border=1) for j in range(self.max_row): input_box_i = wx.BoxSizer() input_list = [] input_label = wx.StaticText(panel, label=str(j + 1), size=(20, 25), style=wx.ALIGN_LEFT) input_box_i.Add(input_label, proportion=0, flag=wx.LEFT, border=3) for i in range(self.max_line): input_item = wx.TextCtrl(panel,size=(50,25)) input_box_i.Add(input_item, proportion=0, flag=wx.LEFT, border=3) input_list.append(input_item) self.vbox.Add(input_box_i, proportion=0, flag=wx.EXPAND | wx.ALL, border=1) self.input_matrix.append(input_list) def OnLoad(self,event): self.showMsg(u"開始處理", u"提示") def showMsg(self,msg,title): wx.MessageBox(msg, title, wx.OK | wx.ICON_INFORMATION) if __name__ == '__main__': # 界面提示文字 show_info = u"數(shù)據(jù)處理工具" app = wx.App() # 建立一個(gè)10*10的錄入窗口 frame = GUIFrame(show_info, [800, 450],10) frame.Show() app.MainLoop()
如果輸入項(xiàng)目更多, 可能用GRID更合適。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于CUDA out of memory的解決方案
這篇文章主要介紹了關(guān)于CUDA out of memory的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02Python自動(dòng)化辦公之Word轉(zhuǎn)PDF的實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹一下如何在?windows、mac、linux?三種系統(tǒng)中都可以生成?PDF?的解決方案,文中的示例代碼講解詳細(xì),需要的可以參考一下2022-05-05django框架基于queryset和雙下劃線的跨表查詢操作詳解
這篇文章主要介紹了django框架基于queryset和雙下劃線的跨表查詢操作,結(jié)合實(shí)例形式詳細(xì)分析了Django框架queryset和雙下劃線的跨表查詢相關(guān)實(shí)現(xiàn)技巧與操作注意事項(xiàng),需要的朋友可以參考下2019-12-12django admin 根據(jù)choice字段選擇的不同來顯示不同的頁面方式
這篇文章主要介紹了django admin 根據(jù)choice字段選擇的不同來顯示不同的頁面方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-05-05python實(shí)現(xiàn)對(duì)一個(gè)完整url進(jìn)行分割的方法
這篇文章主要介紹了python實(shí)現(xiàn)對(duì)一個(gè)完整url進(jìn)行分割的方法,涉及Python操作URL的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04Python 結(jié)巴分詞實(shí)現(xiàn)關(guān)鍵詞抽取分析
這篇文章主要介紹了Python 結(jié)巴分詞實(shí)現(xiàn)關(guān)鍵詞抽取分析,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10python創(chuàng)建Flask Talisman應(yīng)用程序的步驟詳解
Flask是一個(gè)功能強(qiáng)大的Web框架,主要用于使用Python語言開發(fā)有趣的Web應(yīng)用程序,Talisman基本上是一個(gè)Flask擴(kuò)展,用于添加HTTP安全標(biāo)頭我們的Flask應(yīng)用程序易于實(shí)施,本文就給大家講講帶Talisman的Flask安全性,需要的朋友可以參考下2023-09-09