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设计模式之单例模式实例
Apr 26 Python
Python实现修改文件内容的方法分析
Mar 25 Python
浅谈DataFrame和SparkSql取值误区
Jun 09 Python
python和pygame实现简单俄罗斯方块游戏
Feb 19 Python
解决Python中list里的中文输出到html模板里的问题
Dec 17 Python
Python eval的常见错误封装及利用原理详解
Mar 26 Python
python暴力解压rar加密文件过程详解
Jul 05 Python
浅谈Python中(&,|)和(and,or)之间的区别
Aug 07 Python
python中自带的三个装饰器的实现
Nov 08 Python
Python tkinter常用操作代码实例
Jan 03 Python
在python中list作函数形参,防止被实参修改的实现方法
Jun 05 Python
python numpy中setdiff1d的用法说明
Apr 22 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
真正面向对象编程:PHP5.01发布
2006/10/09 PHP
关于file_get_contents返回为空或函数不可用的解决方案
2013/06/24 PHP
PHP智能识别收货地址信息实例
2019/01/05 PHP
web页面数据展示新想法(json)
2010/06/08 Javascript
仅IE9/10同时支持script元素的onload和onreadystatechange事件分析
2011/04/27 Javascript
html页面显示年月日时分秒和星期几的两种方式
2013/08/20 Javascript
JavaScript数据结构与算法之栈与队列
2016/01/29 Javascript
jQuery通过ajax请求php遍历json数组到table中的代码(推荐)
2016/06/12 Javascript
纯js实现倒计时功能
2017/01/06 Javascript
微信小程序 天气预报开发实例代码源码
2017/01/20 Javascript
JS触摸事件、手势事件详解
2017/05/04 Javascript
vue脚手架vue-cli的学习使用教程
2017/06/06 Javascript
JS实现的tab切换并显示相应内容模块功能示例
2019/08/03 Javascript
Emberjs 通过 axios 下载文件的方法
2019/09/03 Javascript
小程序中使用css var变量(使js可以动态设置css样式属性)
2020/03/31 Javascript
微信小程序实现菜单左右联动
2020/05/19 Javascript
Vue-cli3生成的Vue项目加载Mxgraph方法示例
2020/05/31 Javascript
基于python 字符编码的理解
2017/09/02 Python
Python 模拟购物车的实例讲解
2017/09/11 Python
Python3计算三角形的面积代码
2017/12/18 Python
解决python "No module named pip" 的问题
2018/10/13 Python
pyqt5 tablewidget 利用线程动态刷新数据的方法
2019/06/17 Python
pandas DataFrame 行列索引及值的获取的方法
2019/07/02 Python
python自动化实现登录获取图片验证码功能
2019/11/20 Python
Python+PyQt5+MySQL实现天气管理系统
2020/06/16 Python
python 浮点数四舍五入需要注意的地方
2020/08/18 Python
五分钟学会怎么用Pygame做一个简单的贪吃蛇
2021/01/06 Python
马来西亚最热门的在线时尚商店:FashionValet
2018/11/11 全球购物
工作表现自我评价
2014/02/08 职场文书
高中军训感言600字
2014/03/11 职场文书
委托书范文
2014/04/02 职场文书
如何写辞职书
2015/02/26 职场文书
拿破仑传读书笔记
2015/07/01 职场文书
jquery插件实现代码雨特效
2021/04/24 jQuery
pytorch 如何使用float64训练
2021/05/24 Python
SpringDataJPA实体类关系映射配置方式
2021/12/06 Java/Android