制作Python和Tkinter倒计时计时器
Tkinter是一个用于创建基于GUI的桌面应用程序的标准Python库。它提供了可以用来实现应用程序功能的各种函数,模块和方法。
在此示例中,我们将使用Python标准库,例如Tkinter和Time模块,创建倒计时计时器。我们应用程序的基本功能是在给定时间段内运行计时器。它将具有以下组件:
- Entry小部件可以分别设置HH / MM / SS的计时器时间。
-
一个按钮以执行函数countdowntimer()。
-
函数countdowntimer()将把输入字符串转换为相对于HH,MM和SS的整数值。
-
使用update()方法,我们将根据给定的函数和小部件更新窗口。
例子
#导入所需库
from tkinter import *
import time
#创建tkinter框架实例
win = Tk()
#设置窗口大小
win.geometry('700x350')
#将窗口固定到其大小
win.resizable(False, False)
#配置背景
win.config(bg='skyblue4')
#为HH MM SS创建Entry小部件
sec = StringVar()
Entry(win, textvariable=sec, width=2,
font='Helvetica 14').place(x=380, y=120)
sec.set('00')
mins = StringVar()
Entry(win, textvariable=mins, width=2, font='Helvetica 14').place(x=346, y=120)
mins.set('00')
hrs = StringVar()
Entry(win, textvariable=hrs, width=2, font='Helvetica 14').place(x=310, y=120)
hrs.set('00')
#定义计时器函数
def countdowntimer():
times = int(hrs.get()) * 3600 + int(mins.get()) * 60 + int(sec.get())
while times > -1:
minute, second = (times // 60, times % 60)
hour = 0
if minute > 60:
hour, minute = (minute // 60, minute % 60)
sec.set(second)
mins.set(minute)
hrs.set(hour)
#更新时间
win.update()
time.sleep(1)
if (times == 0):
sec.set('00')
mins.set('00')
hrs.set('00')
times -= 1
#创建Label小部件
Label(win, font=('Helvetica bold', 22), text='Set the Timer', bg='skyblue4', fg="white").place(x=260, y=70)
#Button小部件来设置计时器
Button(win, text='START', bd='2', bg='IndianRed1', font=('Helvetica bold', 10), command=countdowntimer).place(x=335, y=180)
win.mainloop()
输出
它将在窗口中显示倒计时计时器。
如果我们通过更改输入框中的值并单击“开始”按钮来设置计时器,则会快速启动给定时间段的计时器。