WxPython建立批量录入框窗口


Posted in Python onFebruary 27, 2019

有个小项目,碰到需要批量建立输入框的需求,本文利用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更合适。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
动态创建类实例代码
Oct 07 Python
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
Jan 04 Python
Python实现学生成绩管理系统
Apr 05 Python
Python 面试中 8 个必考问题
Nov 16 Python
celery4+django2定时任务的实现代码
Dec 23 Python
在vscode中配置python环境过程解析
Sep 28 Python
Ubuntu下Python+Flask分分钟搭建自己的服务器教程
Nov 19 Python
python3 requests库实现多图片爬取教程
Dec 18 Python
PyCharm汉化安装及永久激活详细教程(靠谱)
Jan 16 Python
python读取与处理netcdf数据方式
Feb 14 Python
python小程序之4名牌手洗牌发牌问题解析
May 15 Python
python 如何调用 dubbo 接口
Sep 24 Python
Python里字典的基本用法(包括嵌套字典)
Feb 27 #Python
Python中类的创建和实例化操作示例
Feb 27 #Python
Python中使用遍历在列表中添加字典遇到的坑
Feb 27 #Python
Python实现定期检查源目录与备份目录的差异并进行备份功能示例
Feb 27 #Python
详解Django-restframework 之频率源码分析
Feb 27 #Python
Python的UTC时间转换讲解
Feb 26 #Python
Python逐行读取文件中内容的简单方法
Feb 26 #Python
You might like
php通过function_exists检测函数是否存在的方法
2015/03/18 PHP
php使用ftp实现文件上传与下载功能
2017/07/21 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
2018/03/31 PHP
filemanage功能中用到的lib.js
2007/04/08 Javascript
我见过最全的个人js加解密功能页面
2007/12/12 Javascript
把html页面的部分内容保存成新的html文件的jquery代码
2009/11/12 Javascript
jquery的map与get方法详解
2013/11/04 Javascript
理解javascript模块化
2016/03/28 Javascript
浅谈JS中的三种字符串连接方式及其性能比较
2016/09/02 Javascript
JavaScript限定范围拖拽及自定义滚动条应用(3)
2017/05/17 Javascript
jquery DataTable实现前后台动态分页
2017/06/17 jQuery
angularJs的ng-class切换class
2017/06/23 Javascript
如何让微信小程序页面之间的通信不再变困难
2019/06/03 Javascript
jQuery操作元素追加内容示例
2020/01/10 jQuery
vue监听滚动事件的方法
2020/12/21 Vue.js
Ubuntu下安装PyV8
2016/03/13 Python
Python开发之快速搭建自动回复微信公众号功能
2016/04/22 Python
Python 文本文件内容批量抽取实例
2018/12/10 Python
详解Appium+Python之生成html测试报告
2019/01/04 Python
python-itchat 统计微信群、好友数量,及原始消息数据的实例
2019/02/21 Python
pandas分区间,算频率的实例
2019/07/04 Python
django数据库自动重连的方法实例
2019/07/21 Python
Python第三方包之DingDingBot钉钉机器人
2020/04/09 Python
python脚本监控logstash进程并邮件告警实例
2020/04/28 Python
Python爬取股票信息,并可视化数据的示例
2020/09/26 Python
非凡女性奢华谦虚风格:The Modist
2017/10/28 全球购物
经济系大学生求职信
2013/10/01 职场文书
毕业生自荐书
2013/12/18 职场文书
美术专业个人自我评价
2014/01/18 职场文书
孝老爱亲模范事迹
2014/01/24 职场文书
上课迟到检讨书
2014/02/19 职场文书
餐饮服务食品安全责任书
2014/07/25 职场文书
祖国在我心中演讲稿200字
2014/08/28 职场文书
上课睡觉检讨书300字
2014/11/18 职场文书
2016教师廉洁教育心得体会
2016/01/13 职场文书
《伯牙绝弦》教学反思
2016/02/16 职场文书