我有一个时钟,我放在我的GUI程序中。目前我使用.after()
来更新时钟。我不确定这种方法是否是最佳选择,我试图找到不同的或更好的解决方案。
我目前处理GUI时钟的方式是最好的方式吗?或者我还能做些什么?
以下是一个例子:
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()
答案 0 :(得分:2)
你有正确的方法。不过,我认为没有理由每秒拨打5次,但每秒只能改变一次。此外,你还有很多你不需要的额外垃圾。一点清洁:
def status_clock(self):
self.my_clock.config(text=strftime("%H:%M:%S"))
self.my_clock.after(1000, self.status_clock)