import time
import tkinter
root = tkinter.Tk()
root.title('秒表计数器')
root.geometry("400x200+300+200")
frame1 = tkinter.Frame(root) #框架
frame1.pack()
timestr = tkinter.StringVar() #创建可变数据类型
timestr.set('0:0') #只能数值不能等于号
running = False #计时器工作状态
starttime = 0 #开始计时时间
elapsedtime = 0.0 #计时器统计到的时间
timer = None
def update():
global elapsedtime
global timestr
global timer
elapsedtime = time.time() - starttime
timestr.set(elapsedtime)
timer = root.after(50, update)
def Start():
global running #全局变量
global starttime
if not running:
starttime = time.time() - elapsedtime
running = True
update()
pass
def Stop():
global running
global timer
if running:
root.after_cancel(timer)
elapsedtime = time.time() - starttime
timestr.set(elapsedtime)
running = False
pass
def Reset():
global elapsedtime
global timestr
global starttime
elapsedtime = 0.0
starttime = time.time()
timestr.set(elapsedtime)
tkinter.Label(frame1, textvariable=timestr).pack() # 文本变量
tkinter.Button(frame1, text='开始', command=Start).pack(side=tkinter.LEFT)
tkinter.Button(frame1, text='停止', command=Stop).pack(side=tkinter.LEFT)
tkinter.Button(frame1, text='重置', command=Reset).pack(side=tkinter.LEFT)
tkinter.Button(frame1, text='退出', command=quit).pack(side=tkinter.LEFT)
root.mainloop()
下面是代码效果: