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 相关文章推荐
使用grappelli为django admin后台添加模板
Nov 18 Python
详解Python中用于计算指数的exp()方法
May 14 Python
简单谈谈Python流程控制语句
Dec 04 Python
Python实现单词翻译功能
Jun 06 Python
基于Python log 的正确打开方式
Apr 28 Python
python3+selenium自动化测试框架详解
Mar 17 Python
python利用7z批量解压rar的实现
Aug 07 Python
python matplotlib拟合直线的实现
Nov 19 Python
python实现录屏功能(亲测好用)
Mar 02 Python
Python中的With语句的使用及原理
Jul 29 Python
快速解决pymongo操作mongodb的时区问题
Dec 05 Python
利用Selenium添加cookie实现自动登录的示例代码(fofa)
May 08 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
?繁体转换的class
2006/10/09 PHP
php中的登陆login
2007/01/18 PHP
php strstr查找字符串中是否包含某些字符的查找函数
2010/06/03 PHP
支持中文和其他编码的php截取字符串函数分享(截取中文字符串)
2014/03/13 PHP
基于jquery的blockui插件显示弹出层
2011/04/14 Javascript
Javascript 异步加载详解(浏览器在javascript的加载方式)
2012/05/20 Javascript
js操作CheckBoxList实现全选/反选(在客服端完成)
2013/02/02 Javascript
javascript中强制执行toString()具体实现
2013/04/27 Javascript
dwz 如何去掉ajaxloading具体代码
2013/05/22 Javascript
javascript常用方法汇总
2014/12/02 Javascript
JQuery中DOM加载与事件执行实例分析
2015/06/13 Javascript
jQuery实现向下滑出的二级菜单效果实例
2015/08/22 Javascript
详解AngularJS如何实现跨域请求
2016/08/22 Javascript
bootstrap table实现x-editable的行单元格编辑及解决数据Empty和支持多样式问题
2017/08/10 Javascript
JavaScript的console命令使用实例
2019/12/03 Javascript
Javascript实现鼠标点击冒泡特效
2019/12/24 Javascript
一篇文章带你使用Typescript封装一个Vue组件(简单易懂)
2020/06/05 Javascript
[04:13]2014DOTA2国际邀请赛 专访DC目前形势不容乐观
2014/07/12 DOTA
[01:10:58]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
[02:08]什么藏在DOTA2 TI9“小紫本”里?斧王历险记告诉你!
2019/05/17 DOTA
Python fileinput模块使用介绍
2014/11/30 Python
python 根据正则表达式提取指定的内容实例详解
2016/12/04 Python
11月编程语言排行榜 Python逆袭C#上升到第4
2017/11/15 Python
Python中的defaultdict与__missing__()使用介绍
2018/02/03 Python
通过Python模块filecmp 对文件比较的实现方法
2018/06/29 Python
详解Python学习之安装pandas
2019/04/16 Python
python matplotlib库绘制散点图例题解析
2019/08/10 Python
Python库安装速度过慢解决方案
2020/07/14 Python
css3加js做一个简单的3D行星运转效果实例代码
2017/01/18 HTML / CSS
印尼在线旅游门户网站:NusaTrip
2019/11/01 全球购物
幼儿园教师教学反思
2014/02/06 职场文书
2015年学校心理健康教育工作总结
2015/05/11 职场文书
2015年生活老师工作总结
2015/05/27 职场文书
2016年第十九届推普周活动总结
2016/04/06 职场文书
Python进度条的使用
2021/05/17 Python
Python基本数据类型之字符串str
2021/07/21 Python