WxPython建立批量錄入框窗口
更新時(shí)間:2019年02月27日 09:48:40 作者:陳年椰子
這篇文章主要為大家詳細(xì)介紹了WxPython建立批量錄入框窗口,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
有個(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)文章
詳解Python Celery和RabbitMQ實(shí)戰(zhàn)教程
這篇文章主要介紹了詳解Python Celery和RabbitMQ實(shí)戰(zhàn)教程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
Python設(shè)計(jì)模式之簡單工廠模式實(shí)例詳解
這篇文章主要介紹了Python設(shè)計(jì)模式之簡單工廠模式,結(jié)合實(shí)例形式分析了簡單工廠模式的概念、原理及相關(guān)使用技巧,需要的朋友可以參考下
2019-01-01
python使用DrissionPage庫進(jìn)行網(wǎng)頁自動(dòng)化操作和數(shù)據(jù)提取
隨著自動(dòng)化測(cè)試、數(shù)據(jù)抓取和網(wǎng)頁交互應(yīng)用的日益增多,在眾多的自動(dòng)化庫中,DrissionPage?作為一個(gè)新興的庫,以其簡潔易用和強(qiáng)大的功能受到越來越多開發(fā)者的關(guān)注,本文將介紹如何使用?DrissionPage?進(jìn)行網(wǎng)頁自動(dòng)化操作和數(shù)據(jù)提取,需要的朋友可以參考下
2024-11-11 
