所以基本上,我试着用python制作一个数字时钟,在运行程序时显示在一个小窗口上。我有两个想法如何使这些,但下面的代码是相同的。我的问题是:如果我使用
time.sleep
命令,当我运行程序时,窗口甚至不会弹出,但是如果我使用
root.after(1000, clock(root, w)
import time as t
import tkinter as tk
from datetime import datetime
def main():
root = tk.Tk()
root.title("Digital Clock")
w = tk.Label(font = (100))
w.pack()
clock(root, w)
root.mainloop()
def clock(root, w):
t.sleep(1)
timelabeled = " "
now = datetime.now()
timelabeled = ("%s/%s/%s %s:%s:%s" % (now.day, now.month, now.year, now.hour, now.minute, now.second))
w.config(text = timelabeled, )
root.after(clock(root, w))
if __name__ == "__main__":
main()
我的结果应该是一个小窗口,上面有一个表示时间的标签,每秒钟更新一次,但这不是我得到的。要么我什么都没有,要么1000个标签没有更新。