ホームページ >バックエンド開発 >Python チュートリアル >GUI をフリーズさせずに Tkinter で更新をスケジュールするにはどうすればよいですか?
Tkinter での更新のスケジュール
Tkinter では、時計などのリアルタイム情報を動的に表示するためにタイマーまたは時計が必要です。ただし、ループ内で time.sleep() を使用すると、GUI がフリーズする可能性があります。
Tkinter の after メソッドの使用
Tkinter のルート ウィンドウには、実行をスケジュールできる after メソッドが用意されています。指定された時間間隔の後に実行される関数。関数内で after を再帰的に呼び出すと、イベントを自動的に繰り返すことができます。
コード例:
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()
この例では、表示するために App クラスが作成されます。 Tkinter ウィンドウ内の時計。 update_clock メソッドは、after メソッドを使用して毎秒繰り返し実行されるようにスケジュールされています。これにより、GUI をフリーズさせることなく、クロックを動的に更新できます。
注:
After は、関数が時間どおりに正確に実行されることを保証しません。ジョブをスケジュールしますが、実際の実行時間はアプリのワークロードによって異なる場合があります。 Tkinter では、遅延は通常マイクロ秒単位で測定されます。
以上がGUI をフリーズさせずに Tkinter で更新をスケジュールするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。