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编程中time模块的一些关键用法解析
Jan 19 Python
python爬虫 正则表达式使用技巧及爬取个人博客的实例讲解
Oct 20 Python
python计算日期之间的放假日期
Jun 05 Python
python根据list重命名文件夹里的所有文件实例
Oct 25 Python
python生成lmdb格式的文件实例
Nov 08 Python
pytz格式化北京时间多出6分钟问题的解决方法
Jun 21 Python
Python 剪绳子的多种思路实现(动态规划和贪心)
Feb 24 Python
实现ECharts双Y轴左右刻度线一致的例子
May 16 Python
Python Unittest原理及基本使用方法
Nov 06 Python
python内置进制转换函数的操作
Jun 02 Python
Django基础CBV装饰器和中间件
Mar 22 Python
python获取带有返回值的多线程
May 02 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实现货币换算的方法
2014/11/29 PHP
php微信浏览器分享设置以及回调详解
2016/08/01 PHP
浅析Laravel5中队列的配置及使用
2016/08/04 PHP
php 遍历目录,生成目录下每个文件的md5值并写入到结果文件中
2016/12/12 PHP
PHP自动生成缩略图函数的源码示例
2019/03/18 PHP
php使用pecl方式安装扩展操作示例
2019/08/12 PHP
javascript 限制输入和粘贴(IE,firefox测试通过)
2008/11/14 Javascript
jquery实现网页查找功能示例分享
2014/02/12 Javascript
详解js跨域原理以及2种解决方案
2015/12/09 Javascript
如何处理JSON中的特殊字符
2016/11/30 Javascript
JS实现汉字与Unicode码相互转换的方法详解
2017/04/28 Javascript
使用JS动态显示文本
2017/09/09 Javascript
使用Vue如何写一个双向数据绑定(面试常见)
2018/04/20 Javascript
vue+axios+promise实际开发用法详解
2018/10/15 Javascript
Vue实现table上下移动功能示例
2019/02/21 Javascript
elementUI 动态生成几行几列的方法示例
2019/07/11 Javascript
javascript 原型与原型链的理解及实例分析
2019/11/23 Javascript
js函数柯里化的方法和作用实例分析
2020/04/11 Javascript
在Python中用has_key()方法查找键是否存在的教程
2015/05/21 Python
对python中字典keys,values,items的使用详解
2019/02/03 Python
Python3.5字符串常用操作实例详解
2019/05/01 Python
Python实现Mysql数据统计及numpy统计函数
2019/07/15 Python
python 多进程并行编程 ProcessPoolExecutor的实现
2019/10/11 Python
Python中私有属性的定义方式
2020/03/05 Python
关于Python解包知识点总结
2020/05/05 Python
Python字典实现伪切片功能
2020/10/28 Python
详解Java中一维、二维数组在内存中的结构
2021/02/11 Python
乌克兰电子产品和家用电器购物网站:TOUCH
2019/08/09 全球购物
NYX Professional Makeup俄罗斯官网:世界知名的化妆品品牌
2019/12/26 全球购物
什么是封装
2013/03/26 面试题
模具专业毕业生自荐书范文
2014/02/19 职场文书
售后服务承诺书范文
2014/03/26 职场文书
收款授权委托书
2014/10/02 职场文书
幼师辞职信怎么写
2015/02/27 职场文书
单位考核鉴定意见
2015/06/05 职场文书
Win11任务栏太宽了怎么办?一招解决Win11任务栏太宽问题
2021/11/21 数码科技