ホームページ >バックエンド開発 >Python チュートリアル >Tkinter のイベント ループと同時に外部コードを実行するにはどうすればよいですか?

Tkinter のイベント ループと同時に外部コードを実行するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-21 09:53:10321ブラウズ

How Can I Run External Code Concurrently with Tkinter's Event Loop?

Tkinter のイベント ループと同時に外部コードを実行する

Tkinter のイベント ループ内にユーザー定義コードを統合するのは難しい場合があります。この例では、初心者プログラマが、Tkinter がイベント ループを支配し、鳥の群れのシミュレーションが継続的に実行できないという問題に遭遇しています。

この問題に対処するために、Tk オブジェクトは強力なメソッド after を提供します。このメソッドの構文は次のとおりです。

def after(self, ms, func=None, *args):
    """Call function once after given time.

    MS specifies the time in milliseconds. FUNC gives the
    function which shall be called. Additional parameters
    are given as parameters to the function call.  Return
    identifier to cancel scheduling with after_cancel."""

after を利用すると、指定した時間間隔の後に関数を実行するようにスケジュールできます。以下に例を示します。

from tkinter import *

root = Tk()

def task():
    print("hello")
    root.after(2000, task)  # reschedule event in 2 seconds

root.after(2000, task)
root.mainloop()

この例では、タスク関数は Tkinter イベント ループ内で 2 秒ごとに実行されるようにスケジュールされています。 mainloop 関数は、スケジュールされたタスクの実行中に Tkinter がイベントの処理を継続することを保証します。

このソリューションは、Tkinter のイベント ループと一緒に外部コードを実行するための信頼性が高く簡単な方法を提供し、複雑なマルチスレッドの概念の必要性を排除し、ハッキングを回避します。 「ボタンを押し続ける」メソッド。

以上がTkinter のイベント ループと同時に外部コードを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。