时间:2021-05-22
有个小项目,碰到需要批量建立输入框的需求,本文利用WxPython建立批量录入框窗口
研究了一下WxPython ,实现了这个功能。
# coding=utf-8"""模块标题:界面相关模块功能:显示批量录入框窗口。开发人员:seakingx建立时间: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"处理数据") # 显示批量输入框 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"数据处理工具" app = wx.App() # 建立一个10*10的录入窗口 frame = GUIFrame(show_info, [800, 450],10) frame.Show() app.MainLoop()如果输入项目更多, 可能用GRID更合适。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例为大家分享了wxPython分隔窗口的具体代码,供大家参考,具体内容如下1、分割窗口分隔窗口(wx.SplitterWindow)就是将窗口分成两部分,
wxPython树控件介绍树(tree)是一种通过层次结构展示信息的控件,如下图所示是树控件示例,左窗口中是树控件,在wxPython中树控件类是wx.Tree
AxureRP8设计软件有个元件----下拉列表框,下拉列表框数据源可以单条添加,也可以批量添加;双击打开编辑列表窗口,可以多条添加记录。下面利用一个实例实现这
批量录入在数据库的应用中比较广泛的,关于批量录入的方法也有好多种。下面我就结合我实际中的应用,谈一下儿我是怎么实现的。主要用到的是form的集合的概念,通过循环
本文实例讲述了wxPython窗口的继承机制,分享给大家供大家参考。具体分析如下:示例代码如下:importwxclassMyApp(wx.App):defOn