Как правильно вывести текущее время в окне tkinter?
Задача в том, чтобы в окне создать Label, в котором будет динамически обновляться текущее время в формате hh:mm:ss. У меня получается вывести время, но оно не обновляется, а показывает только время, которое совпадает с запуском скрипта. Вот то, что пока что есть:
root = tkinter.Tk()
root.geometry('400x150+{}+{}'.format(500, 400))
a = Label(root, text=f"{datetime.now():%H:%M:%S}", font=("helvetica", 15))
a.pack()
root.mainloop()
Ответы (1 шт):
Автор решения: insolor
→ Ссылка
f-строка формируется только один раз, а не перезапускает прописанные в ней функции. Нужно принудительно обновлять текст периодически.
import tkinter
from tkinter import *
from datetime import datetime
def update_time():
a.config(text=f"{datetime.now():%H:%M:%S}")
root.after(100, update_time) # Запланировать выполнение этой же функции через 100 миллисекунд
root = tkinter.Tk()
root.geometry('400x150+{}+{}'.format(500, 400))
a = Label(root, font=("helvetica", 15))
a.pack()
update_time()
root.mainloop()