python-tkinter-GUI简单化编程之七段数码显示控件1
python tkinter GUI简单化编程之文章目录(点击可传送)
一、自我介绍、封装及使用方法
本系列文章将先以封装python的tkinter库为目标进行讲解,后续将会再封装其他python的GUI库。具体可从第一章开始浏览,后续不再阐述。
二、七段数码显示控件1
现在,我们在PythonGui.pyw
再添加以下代码封装七段数码显示控件1
,该控件目前有四种类型,本文先讲述第一类,后续文章将会持续更新。
请注意:在PythonGui.pyw
开头添加import datetime
语句,因为本文需要用到datetime
模块,且不要删除以前的代码。
def SS_3创建七段数码显示控件1(放置属性,数码属性,数据属性):
'''
注意:七段数码显示控件1只能显示一位数据
放置属性为一个列表,分别代表 0.放置的窗口 1.放置于窗口的行 2.放置于窗口的列
数码属性为一个列表,分别代表 0.数码的背景颜色 1.数码宽度
数据属性为一个列表,分别代表 0.当前数据 1.更新速度
'''
放置窗体 = 放置属性[0]
放置位置 = 放置属性[1:]
背景颜色 = 数码属性[0]
画布宽度 = 数码属性[1]
当前数据 = 数据属性[0]
更新速度 = 数据属性[1]
try:
当前数据.get()
except:
messagebox.showerror('函数错误','当前数据的类型定义请使用本封装库的类型,请检查!')
return
画布高度 = 画布宽度*2*0.9
段宽 = 画布宽度/10
子窗口 = tk.Frame(放置窗体,bg =背景颜色,height = 1,width = 1 )
子窗口.grid(row = 放置位置[0],column = 放置位置[1],padx = 2,pady= 2)
画布 = tk.Canvas(子窗口,width = 画布宽度,height = 画布高度, bg =背景颜色)
画布.pack(fill = tk.BOTH)
中心宽度 = 画布宽度/2*1.025
中心高度 = 画布高度/2*1.015
段坐标列表 = ['']
段坐标列表.append([(中心宽度+画布宽度*0.4,中心高度-画布宽度*0.7),(中心宽度+画布宽度*0.4,中心高度-画布宽度*0.1)])
段坐标列表.append([(中心宽度+画布宽度*0.4,中心高度+画布宽度*0.1),(中心宽度+画布宽度*0.4,中心高度+画布宽度*0.7)])
段坐标列表.append([(中心宽度+画布宽度*0.3,中心高度+画布宽度*0.8),(中心宽度-画布宽度*0.3,中心高度+画布宽度*0.8)])
段坐标列表.append([(中心宽度-画布宽度*0.4,中心高度+画布宽度*0.7),(中心宽度-画布宽度*0.4,中心高度+画布宽度*0.1)])
段坐标列表.append([(中心宽度-画布宽度*0.4,中心高度-画布宽度*0.7),(中心宽度-画布宽度*0.4,中心高度-画布宽度*0.1)])
段坐标列表.append([(中心宽度-画布宽度*0.3,中心高度-画布宽度*0.8),(中心宽度+画布宽度*0.3,中心高度-画布宽度*0.8)])
段坐标列表.append([(中心宽度-画布宽度*0.3,中心高度),(中心宽度+画布宽度*0.3,中心高度)])
数字显示段列表 = [[1,2,3,4,5,6],[1,2],[6,1,7,4,3],[6,1,7,2,3],[5,7,1,2],[6,5,7,2,3],
[6,5,7,2,3,4],[6,1,2],[1,2,3,4,5,6,7],[1,2,3,5,6,7]]
def 数据更新():
个位数据 = int(当前数据.get())%10
数码列表 = 数字显示段列表[个位数据]
画布.delete(tk.ALL)
for i in 数码列表:
x1 = 段坐标列表[i][0]
x2 = 段坐标列表[i][1]
画布.create_line(x1[0],x1[1],x2[0],x2[1],width = 段宽,fill = 'red',capstyle = tk.ROUND )
子窗口.after(更新速度,数据更新)
数据更新()
三、封装库的使用
在test.pyw中添加以下代码准备测试:
import PythonGui as GUI
主窗体 = GUI.A_建立根页面(['测试软件',350,300,'Beige'],'')
测试数据 = GUI.A_定义变量('int',0)
def 外部函数():
global 测试数据
测试数据.set( 测试数据.get()+1 )
GUI.T_定时器控件(1000,外部函数,True)
GUI.SS_3创建七段数码显示控件1([主窗体,0,0],['yellowgreen',100],[测试数据,100])
主窗体.mainloop()
SS_3创建七段数码显示控件1
函数中有三个形参:0.放置属性 1.数码属性 2.数据属性
(1)放置属性为一个列表,分别代表 0.放置的窗口 1.放置于窗口的行 2.放置于窗口的列
(2)数码属性为一个列表,分别代表 0.数码的背景颜色 1.数码宽度
(3)数据属性为一个列表,分别代表 0.当前数据 1.更新速度
注意:1.七段数码显示控件1
只能显示一位数据 2.当前数据仅支持本封装库创建的变量
四、总结
若有建议之处,麻烦在评论区指出,共同进步,谢谢。ps:平常加班较多,我会抽空余时间更新后面章节。已更新其他七段数码显示控件,如下所示:
1.显示多位整数
python tkinter GUI简单化编程之七段数码显示控件2
2.多位浮点数
python tkinter GUI简单化编程之七段数码显示控件3
3.显示时间
python tkinter GUI简单化编程之七段数码显示控件4