Tkinter 에서 타이머를 사용하는 방법

Tkinter 루트 창에는 주어진 시간 후에 함수를 호출하는 전용 메소드 after가 있습니다.

after(ms, func)

msms 단위의 간격입니다.

func 는 호출 된 함수 이름입니다.

try:
    import Tkinter as tk
except:
    import tkinter as tk
    
import time

class Clock():
    def __init__(self):
        self.root = tk.Tk()
        self.label = tk.Label(text="", font=('Helvetica', 48), fg='red')
        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=Clock()

self.root.after(1000, self.update_clock)1000 ms 후에 함수 자체를 호출하므로 update_clock()함수는 1000 ms 간격으로 실행되며 Tkinter 에 현재 시간을 표시합니다 상표.

주의

Tkinter 가 단일 스레드이기 때문에 애플리케이션이 사용 중일 경우 지연 될 수 있으므로 after메소드의 지정된 기간이 정확한 기간 이후에 함수를 호출하는 것은 보장되지 않습니다.

tkinter 타이머 시계