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 相关文章推荐
使用BeautifulSoup爬虫程序获取百度搜索结果的标题和url示例
Jan 19 Python
python 基础教程之Map使用方法
Jan 17 Python
Python加密方法小结【md5,base64,sha1】
Jul 13 Python
Python3之读取连接过的网络并定位的方法
Apr 22 Python
django的ORM操作 增加和查询
Jul 26 Python
python实现LRU热点缓存及原理
Oct 29 Python
Python django搭建layui提交表单,表格,图标的实例
Nov 18 Python
浅谈keras中的Merge层(实现层的相加、相减、相乘实例)
May 23 Python
Python bisect模块原理及常见实例
Jun 17 Python
Python 解析xml文件的示例
Sep 29 Python
python3中编码获取网页的实例方法
Nov 16 Python
手把手教你用Django执行原生SQL的方法
Feb 18 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
在IIS上安装PHP4.0正式版
2006/10/09 PHP
php的list()的一步操作给一组变量进行赋值的使用
2011/05/18 PHP
CI框架中集成CKEditor编辑器的教程
2014/06/09 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
2016/11/16 PHP
Yii2――使用数据库操作汇总(增删查改、事务)
2016/12/19 PHP
PHP 访问数据库配置通用方法(json)
2018/05/20 PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
2018/10/31 PHP
php使用pecl方式安装扩展操作示例
2019/08/12 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
JavaScript事件委托用法分析
2015/01/24 Javascript
用JavaScript显示浏览器客户端信息的超相近教程
2015/06/18 Javascript
老生常谈JavaScript数组的用法
2016/06/10 Javascript
JS 实现 ajax 异步浏览器兼容问题
2017/01/21 Javascript
Vue2.0利用vue-resource上传文件到七牛的实例代码
2017/07/28 Javascript
ES6中Array.includes()函数的用法
2017/09/20 Javascript
javascript基于牛顿迭代法实现求浮点数的平方根【递归原理】
2017/09/28 Javascript
浅谈React和Redux的连接react-redux
2017/12/04 Javascript
基于Vue 2.0的模块化前端 UI 组件库小结
2017/12/21 Javascript
Vue中render方法的使用详解
2018/01/26 Javascript
小程序文字跑马灯效果
2018/12/28 Javascript
JavaScript实现音乐导航效果
2020/11/19 Javascript
[02:12]2019完美世界全国高校联赛(春季赛)报名开启
2019/03/01 DOTA
python中mechanize库的简单使用示例
2014/01/10 Python
Python+OpenCV实现图像融合的原理及代码
2018/12/03 Python
python中dir()与__dict__属性的区别浅析
2018/12/10 Python
对Python3 解析html的几种操作方式小结
2019/02/16 Python
浅谈PyQt5 的帮助文档查找方法,可以查看每个类的方法
2019/06/25 Python
Pytorch 使用不同版本的cuda的方法步骤
2020/04/02 Python
美国半成品食材配送服务商:Home Chef
2018/01/25 全球购物
不开辟用于交换数据的临时空间,如何完成字符串的逆序
2012/12/02 面试题
.NET初级开发工程师面试题
2014/04/18 面试题
大学生个人求职信范文
2013/09/21 职场文书
教师辞职报告范文
2014/01/20 职场文书
2015年街道除四害工作总结
2015/05/15 职场文书
欧也妮葛朗台读书笔记
2015/06/30 职场文书
Django实现翻页的示例代码
2021/05/24 Python