我對Python比較陌生,想用Tumblr的倒計時器功能在Tkinter中設置一個標籤。現在它所做的一切就是將標籤設置爲10,一旦達到10,我就不明白爲什麼。另外,即使我將計時器打印到終端,而不是「時間到了!」位從不打印。用Python和Tkinter製作倒數計時器?
import time
import tkinter as tk
class App():
def __init__(self):
self.root = tk.Tk()
self.label = tk.Label(text="null")
self.label.pack()
self.Pomodoro()
self.root.mainloop()
## Define a timer.
def Pomodoro(self):
p = 10.00
t = time.time()
n = 0
while n - t < p: ## Loop while the number of seconds is less than the integer defined in "p"
n = time.time()
if n == t + p:
self.label.configure(text="Time's up!")
else:
self.label.configure(text=round(n - t))
app=App()
編輯:前面的回答表明,"Time's up!"
從來沒有工作的原因是因爲它是如何不太可能是爲n
等於準確t + p
由於不精確使用time.time
。定時器的最終基於控制檯的版本是:
import time
## Define a static Pomodoro timer.
def Countdown():
p = 2.00
alarm = time.time() + p
while True: ## Loop infinitely
n = time.time()
if n < alarm:
print(round(alarm - n))
else:
print("Time's up!")
break
Countdown()
然而,這不符合Tkinter的的原因,布萊恩·奧克利提到了他的回答和評論工作。
這裏的(https://gist.github.com/zed/1951815) – jfs