Итак, я пытаюсь сделать цифровые часы на python, чтобы они появлялись в маленьком окне при запуске программы.У меня было две идеи, как сделать это, но код ниже тот же.Моя проблема: если я использую команду time.sleep
, когда я запускаю программу, окно даже не появляется, но если я использую root.after(1000, clock(root, w)
, окно появляется, но оно создает 1000 меток, давая "превышена глубина рекурсии "ошибка.Любая помощь?
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 ярлыков, которые не обновляются.