Python Tkinter 创建一个定时器
本教程的重点是使用Python的Tkinter来创建一个定时器。
由于widget类的存在,我们可以获得很多基本功能。它们提供了管理不同的用户驱动事件的技术,以及定义GUI外观的方法,如将元素放在一定的位置上。一旦我们的GUI框架被建立起来,就必须通过与我们的内部应用类的集成来对其进行定制。
Tkinter: Tkinter是Python内置GUI库的名字。由于Python和Tkinter的存在,GUI应用的开发变得快速而简单。Tkinter 为 Tk GUI 工具包提供了一个高效的面向对象的接口。这里有一些示例例程,让我们在Python中掌握Tkinter;开始使用Tkinter是非常简单的。
GUI不过是一个桌面应用程序,它为你提供了一个与计算机交流的界面,并改善了指导你的代码(命令行输入)的体验。它们受雇于个人电脑、笔记本电脑和其他数字设备等,以履行各种职责。
创建一个具有用户界面的计算器和保留在计算器中的功能是利用GUI的力量的应用之一。
文本编辑器和用于编码的集成开发环境在GUI应用中是可用的。
你可以通过GUI程序玩像数独、国际象棋、接龙和其他棋盘游戏。
GUI程序是用来浏览互联网的,包括Chrome、Firefox、Microsoft Edge等。
存在其他的Python GUI框架,而只有Tkinter是标准库的一部分。Tkinter提供了多种好处。由于它是跨平台的,同样的代码可以在Windows、macOS和Linux上运行。因为Tkinter通过使用本地操作系统组件来生成视觉元素,用它制作的程序看起来就像在用来运行的系统上一样。Tkinter是Python的标准GUI库。Python和Tkinter可以用来快速而方便地创建GUI应用程序。Tkinter为Tk GUI工具箱提供了一个强大的面向对象的接口。
#Using Tkinter and a Python application, create a new window while importing the necessary libraries.
import tkinter
# constructing an object of type Tk with the name "top"
top = tkinter.Tk()
This will open a new window that is empty.
top.mainloop()
使用Tkinter创建秒表
现在让我们尝试用Tkinter模块来开发一个秒表程序。
秒表实际上是一种便携式的腕表,它可以计算从它被触发的特定时间到它被停用的时间之间所经过的秒数。秒表是为远距离观看而制作的大型数字秒表,例如在体育场馆。在手动计时中,按一个按钮来启动和停止时钟。在全自动计时中,传感器自动触发启动和停止。
强制性模块
本软件没有使用任何库;Tkinter是唯一用于创建GUI的库。
代码
# Python programme that uses Tkinter to show a stopwatch #importing the necessary libraries
import tkinter as Tkinter
from datetime import datetime
counter = 68600
running = False
def counter_label(label):
def count():
if running:
global counter
# To manage up the initial delay.
if countd==68600:
display="Starting..."
else:
tt = datetime.fromtimestamp(counterd)
strings = tt.strftime("%H:%M:%S")
display=strings
label['text']=display # Or label.config(text=display)
# Label.after(arg1, arg2) executes the function
specified as the second parameter after
delaying by the first argument's millisecond value.
# In situations like these, we typically need
to repeatedly call the # function where it is present.
# Recount calls after 1000 millisecond delays, or 1 second.
label.after(1000, count)
counter += 1
# Triggering up of the start of the counter.
count()
# starting function of the stopwatch
def Start(label):
global running
running=True
counter_label(label)
start['stated']='disabled'
stop['stated']='normal'
reset['stated']='normal'
# Stopping of function of the stopwatch
def Stop():
global running
start['stated']='normal'
stop['stated']='disabled'
reset['stated']='normal'
running = False
# Resetting function of the stopwatch in code
def Reset(label):
global counter
counter=68600
# if stop is pressed first, then rest.
if running==False:
reset['state']='disabled'
label['text']='Welcome!'
# if the stopwatch is starting when the reset button is clicked.
else:
label['text']='Starting...'
root = Tkinter.Tk()
root.title("Stopwatch_inter")
# Fixing up the window size.
root.minsize(width=260, height=80)
label = Tkinter.Label(root, text="Welcome", fg="black", font="Verdana 35 bold")
label.pack()
f = Tkinter.Frame(root)
start = Tkinter.Button(f, text='Start up', width=8, command=lambda:Start(label))
stop = Tkinter.Button(f, text='Stop in',width=8,state='disabled', command=Stop)
reset = Tkinter.Button(f, text='Reset at',width=8, state='disabled', command=lambda:Reset(label))
f.pack(anchor = 'center',pady=6)
start.pack(side="left")
stop.pack(side ="left")
reset.pack(side="left")
root.mainloop()
输出