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 相关文章推荐
python 测试实现方法
Dec 24 Python
使用python Django做网页
Nov 04 Python
Python的Django框架使用入门指引
Apr 15 Python
基于Python实现通过微信搜索功能查看谁把你删除了
Jan 27 Python
python简单图片操作:打开\显示\保存图像方法介绍
Nov 23 Python
使用numpy和PIL进行简单的图像处理方法
Jul 02 Python
Python远程视频监控程序的实例代码
May 05 Python
使用pip安装python库的多种方式
Jul 31 Python
Python数据可视化:箱线图多种库画法
Nov 06 Python
手动安装python3.6的操作过程详解
Jan 13 Python
python suds访问webservice服务实现
Jun 26 Python
Python通过Schema实现数据验证方式
Nov 12 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
浅析ThinkPHP中的pathinfo模式和URL重写
2014/01/06 PHP
详解PHP实现异步调用的4种方法
2016/03/14 PHP
Laravel5中防止XSS跨站攻击的方法
2016/10/10 PHP
PHP二维数组去重算法
2016/12/17 PHP
图片上传即时显示缩略图的js代码
2009/05/27 Javascript
jQuery建立一个按字母顺序排列的友好页面索引(兼容IE6/7/8)
2013/02/26 Javascript
php+js实现倒计时功能
2014/06/02 Javascript
深入理解javascript作用域和闭包
2014/09/23 Javascript
JavaScript控制按钮可用或不可用的方法
2015/04/03 Javascript
JS实现的文字与图片定时切换效果代码
2015/10/06 Javascript
Jqgrid之强大的表格插件应用
2015/12/02 Javascript
原生js实现回复评论功能
2017/01/18 Javascript
jquery实现下拉框左右选择功能
2017/02/21 Javascript
JavaScript数组_动力节点Java学院整理
2017/06/26 Javascript
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
2018/01/25 jQuery
react中Suspense的使用详解
2019/09/01 Javascript
详解如何在JS代码中消灭for循环
2019/12/11 Javascript
基于js判断浏览器是否支持webGL
2020/04/18 Javascript
详解Vue 的异常处理机制
2020/11/30 Vue.js
Linux下使用python调用top命令获得CPU利用率
2015/03/10 Python
详解Python迭代和迭代器
2016/03/28 Python
python算法演练_One Rule 算法(详解)
2017/05/17 Python
Python 快速实现CLI 应用程序的脚手架
2017/12/05 Python
OpenCV+python手势识别框架和实例讲解
2018/08/03 Python
Flask框架学习笔记之路由和反向路由详解【图文与实例】
2019/08/12 Python
python elasticsearch环境搭建详解
2019/09/02 Python
python使用PIL和matplotlib获取图片像素点并合并解析
2019/09/10 Python
Django3中的自定义用户模型实例详解
2020/08/23 Python
Django如何实现密码错误报错提醒
2020/09/04 Python
Skechers越南官方网站:来自美国的运动休闲品牌
2021/02/22 全球购物
火山动力Java笔试题
2014/06/26 面试题
物业经理求职自我评价
2013/09/22 职场文书
领导接待方案
2014/03/13 职场文书
少年派的奇幻漂流观后感
2015/06/08 职场文书
黄埔军校观后感
2015/06/10 职场文书
springboot应用服务启动事件的监听实现
2022/04/06 Java/Android