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()

下面是代码效果:

        

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐