使用 python 创建秒表
pythonserver side programmingprogramming
秒表用于测量两个事件之间的时间间隔,通常以秒到分钟为单位。它有多种用途,例如在体育运动中或在工业装置中测量热量、电流等的流动。可以使用 Python 的 tkinter 库创建秒表。
此库将具有 GUI 功能,可创建显示 Start、Stop 和 Reset 选项的秒表。该程序的关键组件是使用 tkinter 的 lable.after() 模块。
label.after(parent, ms, function = None) 其中 parent:使用此函数的小部件的对象。 ms:以毫秒为单位的时间。 函数:回调函数
在下面的程序中,我们使用此方法作为程序的关键组件,并设计一个显示秒表中的 GUI 功能的小部件。
示例
import tkinter as tink count = -1 run = False def var_name(mark): def value(): if run: global count # Just beore starting if count == -1: show = "Starting" else: show = str(count) mark['text'] = show #Increment the count after #every 1 second mark.after(1000, value) count += 1 value() # While Running def Start(mark): global run run = True var_name(mark) start['state'] = 'disabled' stop['state'] = 'normal' reset['state'] = 'normal' # While stopped def Stop(): global run start['state'] = 'normal' stop['state'] = 'disabled' reset['state'] = 'normal' run = False # For Reset def Reset(label): global count count = -1 if run == False: reset['state'] = 'disabled' mark['text'] = 'Welcome' else: mark['text'] = 'Start' base = tink.Tk() base.title("PYTHON STOPWATCH") base.minsize(width=300, height=200) mark = tink.Label(base, text="Welcome", fg="blue", font="Times 25 bold",bg="white") mark.pack() start = tink.Button(base, text='Start',width=25, command=lambda: Start(mark)) stop = tink.Button(base, text='Stop', width=25, state='disabled', command=Stop) reset = tink.Button(base, text='Reset',width=25, state='disabled', command=lambda: Reset(mark)) start.pack() stop.pack() reset.pack() base.mainloop()
下图显示了秒表运行时的三种不同场景。