当前位置:脚本大全 > > 正文

wxpython 弹出对话框显示图片(WxPython建立批量录入框窗口)

时间:2022-01-20 00:50:09类别:脚本大全

wxpython 弹出对话框显示图片

WxPython建立批量录入框窗口

有个小项目,碰到需要批量建立输入框的需求,本文利用WxPython建立批量录入框窗口

研究了一下WxPython ,实现了这个功能。

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • # 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更合适。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。

    原文链接:https://blog.csdn.net/seakingx/article/details/80148573

    上一篇下一篇

    猜您喜欢

    热门推荐