Как создать таймер с помощью tkinter?

Я должен кодировать программу с tkinter библиотекой Python.

Моя основная проблема состоит в том, что я не знаю, как создать таймер или часы как hh:mm:ss.

Мне нужен он для обновления себя (это - то, что я не знаю, как сделать).

72
задан nbro 21 May 2015 в 00:17
поделиться

1 ответ

В корневых окнах Tkinter есть метод, называемый после , который можно использовать для планирования функции, которая будет вызываться через заданный период времени. Если эта функция сама вызывает после , вы настроили автоматически повторяющееся событие.

Вот рабочий пример:

# for python 3.x use 'tkinter' rather than 'Tkinter'
import Tkinter as tk
import time

class App():
    def __init__(self):
        self.root = tk.Tk()
        self.label = tk.Label(text="")
        self.label.pack()
        self.update_clock()
        self.root.mainloop()

    def update_clock(self):
        now = time.strftime("%H:%M:%S")
        self.label.configure(text=now)
        self.root.after(1000, self.update_clock)

app=App()

Имейте в виду, что после не гарантирует, что функция будет работать точно в срок. Он только планирует выполнение задания через заданный промежуток времени. Если приложение занято, может возникнуть задержка перед его вызовом, поскольку Tkinter является однопоточным. Задержка обычно измеряется в микросекундах.

108
ответ дан 24 November 2019 в 12:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: