[英]How can I measure elapsed time between the press of buttons in python with tkinter?
我是python的新手,我正在嘗試為自己做一個小項目,但我不明白如何使用stop函數中start函數的初始時間變量,我可以用它做數學運算。 這是我目前的代碼:
import time
import Tkinter
import tkMessageBox
top = Tkinter.Tk()
def start_time():
tkMessageBox.showinfo("Timer", "The timer will now begin")
initial = time.time()
return initial
def stop_time(initial):
final = time.time()
tkMessageBox.showinfo("Timer", final - initial)
Start = Tkinter.Button(top, text ="Start", command = start_time)
Stop = Tkinter.Button(top, text ="Stop", command = stop_time)
Start.pack()
Stop.pack()
top.mainloop()
您的功能需要就共享數據的共同位置達成一致。 對於這個簡單的例子,模塊的全局命名空間是一個不錯的選擇。 您需要做的就是將global initial
添加到更新它的函數中。 對於較大的項目,您可以移動到包含變量的對象和更新它的函數,但這對您的目標來說很好。
import time
import Tkinter
import tkMessageBox
initial = 0
top = Tkinter.Tk()
def start_time():
global initial
tkMessageBox.showinfo("Timer", "The timer will now begin")
initial = time.time()
return initial
def stop_time():
# you could check for initial == 0 and display an error
final = time.time()
tkMessageBox.showinfo("Timer", final - initial)
Start = Tkinter.Button(top, text ="Start", command = start_time)
Stop = Tkinter.Button(top, text ="Stop", command = stop_time)
Start.pack()
Stop.pack()
top.mainloop()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.