WxPython建立批量录入框窗口
作者:陈年椰子 发布时间:2023-11-18 15:47:00
标签:WxPython,批量,录入
有个小项目,碰到需要批量建立输入框的需求,本文利用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
0
投稿
猜你喜欢
- 一个MDB数据库就是硬盘上的另外一个文件,所以,像其他文件一样,它也将遇到相同的文件访问许可问题。这个问题的意思是为了读取(和写入,就像您将
- 初步认识k-means翻译过来就是K均值聚类算法,其目的是将样本分割为k个簇,而这个k则是KMeans中最重要的参数:n_clusters,
- 1.问题描述请编写程序,实现以下功能:在字符串中的所有数字字符前加一个“$”符号。例如,输入A1B2
- 一. SQL2008卸载。1.从控制面板卸载1)点击计算机右下角“开始”,点击“控制面板”2)点击“卸载
- jquery基本入门 第一天:选择器相关 1.html()与.text() .html()取得第一个匹配元素的html内容。会带有标签,.t
- 在python中可以通过内置函数int()函数进行二进制转十进制;int()函数可以将一个指定进制的数字型字符串或者十进制数字转化为整型。P
- 数据库索引是一个数据结构,提高操作的速度,在一个表中可以使用一个或多个列,提供两个快速随机查找和高效的顺序访问记录的基础创建索引。在创建索引
- 背景:有些数学题目经常要用到数形结合思想,尤其是一些函数题目,如果能够把函数图像画出来进行解题的话,思路会更加清晰明了。python绘图主要
- 你好,我是林骥。斜率图,可以快速展现两组数据之间各维度的变化,特别适合用于对比两个时间点的数据。比如说,为了对比分析某产品不同功能的用户满意
- 概念Slice切片是对底层数组Array的封装,在内存中的存储本质就是数组,体现为连续的内存块,Go语言中的数组定义之后,长度就已经固定了,
- 操作步骤A.cmd输入:pip install requests,安装requestsB.py文件导入:import requestsC.g
- 公布到网页上的Email经常会被一些工具自动提取,一些非法用户就会利用所提取的Email大肆发送垃圾邮件。这些工具大多都是查找链接中“mai
- CocosCreator在1.8版本开始,就支持一键发布微信小程序,下面是详细的发布步骤:1、在微信公众平台下载微信开发者工具 地
- 目录前言limit深分页为什么会变慢?通过子查询优化回顾B+ 树结构把条件转移到主键索引树INNER JOIN 延迟关联标签记录法使用bet
- python的文件和路径操作函数基本上位于os和os.path模块中。os.listdir(dirname):列出dirname下的目录和文
- 本文详细解说了MySQL Order By Rand()效率优化的方案,并给出了优化的思路过程,是篇不可多得的MySQL Order By
- GetRows 方法 将 Recordset 对象的多个记录复制到数组中。 语法 代码如下: array = recordset.GetR
- 本文讲述了python安装mysql-python的方法。分享给大家供大家参考,具体如下:ubuntu 系统下进行的操作首先安装了pip工具
- 设计是一个输入-输出的过程,因为首先有用户的需求,客户的项目才有设计的产生,设计是带有目的性和市场行为的,当然也有一部分的创造性设计,仅仅为
- Python是一个很酷的语言,因为你可以在很短的时间内利用很少的代码做很多事情。不仅如此,它还能轻松地支持多任务,比如多进程等。Python