WxPython建立批量录入框窗口

作者:陈年椰子 时间:2023-11-18 15:47:00 

有个小项目,碰到需要批量建立输入框的需求,本文利用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更合适。

来源:https://blog.csdn.net/seakingx/article/details/80148573

标签:WxPython,批量,录入
0
投稿

猜你喜欢

  • 对python生成业务报表的实例详解

    2021-09-07 03:47:30
  • python3+PyQt5 创建多线程网络应用-TCP客户端和TCP服务器实例

    2021-01-14 10:20:29
  • 在layui下对元素进行事件绑定的实例

    2024-04-22 22:17:27
  • 使用 SQL 语句实现一个年会抽奖程序的代码

    2024-01-25 06:28:36
  • 详解vue中$nextTick和$forceUpdate的用法

    2024-06-05 09:15:44
  • 全面详解JS正则中匹配技巧及示例

    2024-03-24 15:07:39
  • 详解Visual Studio中Git的简单使用

    2022-05-25 13:22:04
  • pytorch构建多模型实例

    2021-05-14 13:30:00
  • 在Python的web框架中编写创建日志的程序的教程

    2021-11-25 05:14:07
  • python3+pyqt5+itchat微信定时发送消息的方法

    2022-02-28 04:31:49
  • Python通过pymysql调用MySQL进行增删改移查

    2024-01-28 07:59:17
  • SQL Server Reporting Services 匿名登录的问题及解决方案

    2024-01-20 04:24:05
  • vue.js2.0 实现better-scroll的滚动效果实例详解

    2023-07-02 16:58:50
  • 使用MyISAM表和InnoDB的一些记录

    2009-12-20 18:21:00
  • PyTorch中view()与 reshape()的区别详析

    2023-11-16 05:45:23
  • Pygame Font模块使用教程

    2021-06-17 15:23:44
  • Python中类的mro与继承关系详解(二)

    2022-02-28 07:34:17
  • pyinstaller封装exe的操作

    2021-02-12 03:21:16
  • 解决vue项目input输入框双向绑定数据不实时生效问题

    2024-05-28 15:42:13
  • mysql8.0.11 winx64安装配置方法图文教程(win10)

    2024-01-23 07:58:58
  • asp之家 网络编程 m.aspxhome.com