我有一個時鐘放在我的GUI程序中。目前我使用.after()
來更新時鐘。我不確定這種方法是否是最佳選擇,我試圖找到不同的或更好的解決方案。擁有定時循環的時鐘或者有更好的方法是一個好主意嗎?
是我目前處理我的圖形用戶界面時鐘的最佳方式?或者還有什麼我可以做的?
下面是一個例子:
from tkinter import *
from time import strftime
class MiniApp(Frame):
def __init__(self, master, *args, **kwargs):
Frame.__init__(self, master, *args, **kwargs)
self.master = master
self.my_clock = Label(self.master)
self.my_clock.pack()
self.status_clock()
def status_clock(self):
self.my_clock.config(text ="{}".format(strftime("%H:%M:%S")))
self.my_clock.after(1000, lambda: self.status_clock())
if __name__ == "__main__":
root = Tk()
app = MiniApp(root)
root.mainloop()
這是在Tkinter做這種事情的正確方法。 –
@MikeDriscoll:好的。過去我曾被告知,像這樣的定時循環可能是一個問題,但它與時鐘不同。這就是爲什麼我擔心這是否也是一個問題。 –
如果只顯示1秒的分辨率,爲什麼每秒更新5次?另外,'lambda:self.status_clock()'沒有意義,只需使用'after(200,self.status_clock)''。 'lambda'是非常少見的,似乎讓很多人感到困惑。 –