ホームページ  >  記事  >  バックエンド開発  >  Tkinter でウィンドウを閉じるイベントを処理するには?

Tkinter でウィンドウを閉じるイベントを処理するには?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-27 12:11:30544ブラウズ

How to Handle Window Close Events in Tkinter?

Tkinter でのウィンドウ終了イベントの処理

Tkinter では、ユーザーがウィンドウ上の「X」ボタンをクリックすると、WM_DELETE_WINDOW プロトコルがトリガーされます。このイベントを処理するには、プロトコル ハンドラーを登録できます。

プロトコル ハンドラー

プロトコル ハンドラーを使用すると、プロトコルがトリガーされたときに実行される特定のアクションを定義できます。 WM_DELETE_WINDOW の場合、通常、このアクションにはウィンドウを閉じるか、ユーザーに確認を求めるプロンプトが含​​まれます。

プロトコル ハンドラーのインストール

プロトコル ハンドラーをインストールするには、Tk または Toplevel ウィジェットでプロトコル メソッドを使用します。構文は次のとおりです:

<code class="python">widget.protocol("protocol_name", handler)</code>

  • protocol_name はプロトコルの名前 (例: "WM_DELETE_WINDOW")
  • handler は対象の関数ですプロトコルがトリガーされたときに呼び出されます

使用例

次の例は、Tkinter でウィンドウを閉じるイベントを処理する方法を示しています。

<code class="python">import tkinter as tk
from tkinter import messagebox

root = tk.Tk()

def on_closing():
    if messagebox.askokcancel("Quit", "Do you want to quit?"):
        root.destroy()

root.protocol("WM_DELETE_WINDOW", on_closing)
root.mainloop()</code>

この例では:

  • on_closed 関数は、ウィンドウを閉じる前にユーザーに確認を求めるように定義されています。
  • プロトコル メソッドは、on_closed を WM_DELETE_WINDOW プロトコルのハンドラーとして登録するために使用されます。
  • mainloop メソッドはメイン イベント ループを実行し、ウィンドウのクローズ要求などのイベントを待機します。

以上がTkinter でウィンドウを閉じるイベントを処理するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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