-1
我想在Tkinter
中建立一些東西,我想在其中添加一個時鐘來告訴用戶剩下多少時間。我怎樣才能實現這個?如何在tkinter窗口中添加時鐘小部件?
我試圖找到它,但他們給我after()
函數。我怎麼能確定它會在一秒之後被調用?
我想在Tkinter
中建立一些東西,我想在其中添加一個時鐘來告訴用戶剩下多少時間。我怎樣才能實現這個?如何在tkinter窗口中添加時鐘小部件?
我試圖找到它,但他們給我after()
函數。我怎麼能確定它會在一秒之後被調用?
您可以使用時間獲得time left
和label
來顯示它。
'%.1f' % (newtime - TIME)
用於在.
之後總是有一位數字。
這是一個簡單的例子:
from Tkinter import*
import time
the_time=''
TIME = newtime = time.time()
class Window(Frame):
def __init__(self,master):
Frame.__init__(self, master)
self.grid()
self.create_widgets()
def create_widgets(self):
#Create a label that displays time:
self.display_time=Label(self, text=the_time)
self.display_time.grid(row=0, column=1)
def change_value_the_time():
global the_time
newtime = time.time()
if newtime != the_time:
the_time= '%.1f' % (newtime - TIME)
self.display_time.config(text=the_time, font="40")
self.display_time.after(20, change_value_the_time)
change_value_the_time()
root=Tk()
root.title("Test")
root.geometry("200x200")
app=Window(root)
root.mainloop()
的Tkinter的時間是足夠好,用戶不會注意到有什麼差別。如果您在很長時間內保持精確的時間跟蹤,則可以偶爾將倒計時同步到系統時間。你能提供關於什麼/多少/等的更多細節。你在計數? – TigerhawkT3
順便說一句,我把這個標記爲重複的,因爲答案有計時器的代碼,也解釋了爲什麼你不能確定。 '請記住,以後不能保證函數能準確按時運行。它只安排工作在給定時間後運行。它的應用程序很忙,因爲Tkinter是單線程的,所以在被調用之前可能會有延遲。延遲通常以微秒爲單位。' – Lafexlos
我喜歡OP如何提到他看到'after()'但不確定精度,然後答案只是如何使用'after()'的例子沒有關於其準確性的信息。 – TigerhawkT3