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 03 Python
python实现协同过滤推荐算法完整代码示例
Dec 15 Python
Python多线程扫描端口代码示例
Feb 09 Python
python的dataframe转换为多维矩阵的方法
Apr 11 Python
python向已存在的excel中新增表,不覆盖原数据的实例
May 02 Python
使用python itchat包爬取微信好友头像形成矩形头像集的方法
Feb 21 Python
在自动化中用python实现键盘操作的方法详解
Jul 19 Python
详解django实现自定义manage命令的扩展
Aug 13 Python
Python shelve模块实现解析
Aug 28 Python
Python 输出详细的异常信息(traceback)方式
Apr 08 Python
python基于selenium爬取斗鱼弹幕
Feb 20 Python
解决Python import .pyd 可能遇到路径的问题
Mar 04 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中使用cURL实现Get和Post请求的方法
2013/03/13 PHP
$(document).ready(function() {})不执行初始化脚本
2014/06/19 Javascript
基于JavaScript实现添加到购物车效果附源码下载
2016/08/22 Javascript
angular 动态组件类型详解(四种组件类型)
2017/02/22 Javascript
JavaScript中递归实现的方法及其区别
2017/09/12 Javascript
vue学习教程之带你一步步详细解析vue-cli
2017/12/26 Javascript
jQuery实现使用sort方法对json数据排序的方法
2018/04/17 jQuery
vue-cli2.9.3 详细教程
2018/04/23 Javascript
编写更好的JavaScript条件式和匹配条件的技巧(小结)
2019/06/27 Javascript
微信小程序实现左滑删除效果
2020/11/18 Javascript
基于p5.js 2D图像接口的扩展(交互实现)
2020/11/30 Javascript
python简单实现操作Mysql数据库
2018/01/29 Python
Python简单实现两个任意字符串乘积的方法示例
2018/04/12 Python
python 中文件输入输出及os模块对文件系统的操作方法
2018/08/27 Python
Python 导入文件过程图解
2019/10/15 Python
python模块导入的方法
2019/10/24 Python
python ctypes库2_指定参数类型和返回类型详解
2019/11/19 Python
利用matplotlib实现根据实时数据动态更新图形
2019/12/13 Python
pytorch加载自定义网络权重的实现
2020/01/07 Python
浅谈tensorflow中张量的提取值和赋值
2020/01/19 Python
Python yield的用法实例分析
2020/03/06 Python
浅谈Python线程的同步互斥与死锁
2020/03/22 Python
jupyter notebook 重装教程
2020/04/16 Python
scrapy爬虫:scrapy.FormRequest中formdata参数详解
2020/04/30 Python
CSS3为背景图设置遮罩并解决遮罩样式继承问题
2020/06/22 HTML / CSS
林清轩官方网站:山茶花润肤油开创者
2016/10/26 全球购物
初中生个人学习的自我评价
2013/12/04 职场文书
大学生个人事迹材料
2014/01/21 职场文书
学习十八大报告感言
2014/02/04 职场文书
公司合作意向书范文
2014/07/30 职场文书
先进典型发言材料
2014/12/30 职场文书
学生考试舞弊检讨书
2015/01/01 职场文书
办公室主任个人总结
2015/02/28 职场文书
2015年班主任德育工作总结
2015/05/21 职场文书
2016教师节问候语
2015/11/10 职场文书
小学生大队委竞选稿
2015/11/20 职场文书