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 09 Python
python异常和文件处理机制详解
Jul 19 Python
Python 3.x读写csv文件中数字的方法示例
Aug 29 Python
Python编程给numpy矩阵添加一列方法示例
Dec 04 Python
python opencv之分水岭算法示例
Feb 24 Python
python安装教程
Feb 28 Python
Python开发最牛逼的IDE——pycharm
Aug 01 Python
django连接mysql配置方法总结(推荐)
Aug 18 Python
Python 从相对路径下import的方法
Dec 04 Python
python使用beautifulsoup4爬取酷狗音乐代码实例
Dec 04 Python
在Matplotlib图中插入LaTex公式实例
Apr 17 Python
Python 解决空列表.append() 输出为None的问题
May 23 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 smarty truncate UTF8乱码问题解决办法
2014/06/13 PHP
PHP中绘制图像的一些函数总结
2014/11/19 PHP
PHP+MySQL删除操作实例
2015/01/21 PHP
php实现页面纯静态的实例代码
2017/06/21 PHP
基于PHP实现生成随机水印图片
2020/12/09 PHP
document.designMode的功能与使用方法介绍
2007/11/22 Javascript
javascript String 对象
2008/04/25 Javascript
JavaScrip实现PHP print_r的数功能(三种方法)
2013/11/12 Javascript
JS小功能(offsetLeft实现图片滚动效果)实例代码
2013/11/28 Javascript
js中事件的处理与浏览器对象示例介绍
2013/11/29 Javascript
我的Node.js学习之路(三)--node.js作用、回调、同步和异步代码 以及事件循环
2014/07/06 Javascript
JavaScript设置获取和设置属性的方法
2015/03/04 Javascript
php结合imgareaselect实现图片裁剪
2015/07/05 Javascript
JS实现日期时间动态显示的方法
2015/12/07 Javascript
Bootstrap CSS组件之大屏幕展播
2016/12/17 Javascript
学习使用Bootstrap栅格系统
2017/05/11 Javascript
AngularJS中控制器函数的定义与使用方法示例
2017/10/10 Javascript
微信小程序开发(三):返回上一级页面并刷新操作示例【页面栈】
2020/06/01 Javascript
原生JS实现相邻月份日历
2020/10/13 Javascript
Python自动化测试工具Splinter简介和使用实例
2014/05/13 Python
使用Pyrex来扩展和加速Python程序的教程
2015/04/13 Python
详解Python实现多进程异步事件驱动引擎
2017/08/25 Python
Python的垃圾回收机制详解
2019/08/28 Python
详解使用HTML5的classList属性操作CSS类
2017/10/13 HTML / CSS
香港零食网购:上仓胃子
2020/06/08 全球购物
中专毕业自我鉴定
2013/10/16 职场文书
办公室人员先进事迹
2014/01/27 职场文书
教师通用专业自荐书范文
2014/02/11 职场文书
《放飞蜻蜓》教学反思
2014/04/27 职场文书
倡议书范文格式
2014/05/12 职场文书
预备党员转正考核材料
2014/06/03 职场文书
运动会主持词大全
2015/07/02 职场文书
来探秘“德国中小企业”的成功之道
2019/07/26 职场文书
小学记事作文之200字
2019/08/06 职场文书
Javascript中的解构赋值语法详解
2021/04/02 Javascript
一起来学习Python的元组和列表
2022/03/13 Python