Tkinter でタイマーを使用する方法

胡金庫 2023年1月3日
Tkinter でタイマーを使用する方法

Tkinter root ウィンドウは専用の方法 after を持っています。この方法は所定の時間後に関数を呼び出します。

after(ms, func)

ms は時間間隔、単位は ms

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 の後にその関数自体を呼び出しますので、upldate‗clock() 関数は 1000 ms 間隔で一回実行し、Tkinter ラベルに現在の時間を表示します。

注意
after は、メソッドに設定された時間が非常に正確に関数を呼び出すことが保証されていません。アプリケーションが忙しい場合、Tkinter はシングルスレッドの場合、この遅延時間が延長される可能性がありますので、注意してください。

Tkinter タイマー時計

著者: 胡金庫
胡金庫 avatar 胡金庫 avatar

DelftStack.comの創設者です。Jinku はロボティクスと自動車産業で8年以上働いています。自動テスト、リモートサーバーからのデータ収集、耐久テストからのレポート作成が必要となったとき、彼はコーディングスキルを磨きました。彼は電気/電子工学のバックグラウンドを持っていますが、組み込みエレクトロニクス、組み込みプログラミング、フロントエンド/バックエンドプログラミングへの関心を広げています。

LinkedIn Facebook