有个小项目,碰到需要批量建立输入框的需求,本文利用WxPython建立批量录入框窗口
研究了一下WxPython,实现了这个功能。
#=utf - 8编码 ”“” 模块标题:界面相关 模块功能:显示批量录入框窗口。 开发人员:seakingx 建立时间:2018.04.28 最后修改:2018.04.29 ”“” 进口的天气 类GUIFrame (wx.Frame): def __init__(自我、app_title app_size input_num): 自我。max_len=input_num wx.Frame。__init__(自我,没有,1 app_title大?(app_size [0], app_size [1])) 面板=天气。面板(自我,1) #按钮显示文字 自我。loadButton=天气。按钮(面板标签=u”处理数据”) #显示批量输入框 自我。hbox=wx.BoxSizer () self.hbox.Add(自我。loadButton比例=0,国旗=wx。左边界=5) 自我。vbox=wx.BoxSizer (wx.VERTICAL) self.vbox.Add(自我。hbox比例=0,国旗=wx。扩大|天气。所有边界=5) 自我。max_line=self.max_len 自我。max_row=self.max_len 自我。input_matrix=[] self.init_inputbox(面板) panel.SetSizer (self.vbox) self.loadButton.Bind(天气。EVT_BUTTON,自我。OnLoad self.loadButton) def init_inputbox(自我,面板): input_box_i=wx.BoxSizer () input_label=天气。StaticText窗口(面板标签=" ",大?(20、20),风格=wx.ALIGN_LEFT) input_box_i。添加(input_label比例=0,国旗=天气。左边界=3) 因为我在范围(self.max_line): input_item=天气。StaticText窗口(面板,标签=str (i + 1),大?(50、20),风格=wx.ALIGN_CENTER) input_box_i。添加(input_item比例=0,国旗=天气。左边界=3) self.vbox。添加(input_box_i比例=0,国旗=天气。扩大|天气。,边界=1) j的范围(self.max_row): input_box_i=wx.BoxSizer () input_list=[] input_label=天气。StaticText窗口(面板,标签=str (j + 1),大?(20、25),风格=wx.ALIGN_LEFT) input_box_i。添加(input_label比例=0,国旗=天气。左边界=3) 因为我在范围(self.max_line): input_item=wx.TextCtrl(面板、大?25 (50)) input_box_i。添加(input_item比例=0,国旗=天气。左边界=3) input_list.append (input_item) self.vbox。添加(input_box_i比例=0,国旗=天气。扩大|天气。,边界=1) self.input_matrix.append (input_list) def OnLoad(自我、事件): 自我。showMsg (u”开始处理”,你“提示”) def showMsg(自我、味精、标题): wx。对话框(味精、标题、天气。好| wx.ICON_INFORMATION) if __name__==癬_main__”: #界面提示文字 show_info=u”数据处理工具” 应用=wx.App () #建立一个10 * 10的录入窗口 ?GUIFrame (show_info (800、450), 10) frame.Show () app.MainLoop ()
如果输入项目更多,可能用网格更合适。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。