用 Python 建立秒錶
秒錶用於測量兩個事件之間的時間間隔,通常以秒到分鐘為單位。它在體育或測量工業環境中熱流、電流等方面有著廣泛的用途。Python 可透過使用其 Tkinter 庫來建立秒錶。
此庫將具有 GUI 功能,以建立顯示 啟動、停止和重置 選項的秒錶。該程式的關鍵元件是使用 Tkinter 的lable.after() 模組。
label.after(parent, ms, function = None) where parent: The object of the widget which is using this function. ms: Time in miliseconds. function: Call back function
在以下程式中,我們使用此方法作為程式的關鍵元件,並設計了一個在秒錶中顯示 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()
以下影像顯示了執行秒錶時的三種不同場景。
啟動秒錶
執行的秒錶
停止秒錶
重置秒錶
廣告