GUI プログラミングでは、ユーザー インタラクションの管理が重要です。処理すべき重要なイベントの 1 つは、ウィンドウを閉じるイベントです。これは、ユーザーがウィンドウのタイトル バーの「X」ボタンをクリックしたときに発生します。 Tkinter では、このイベントはプロトコル ハンドラーを使用して処理できます。
Tkinter の WM_DELETE_WINDOW プロトコルは、ユーザーがウィンドウ マネージャーを通じて明示的にウィンドウを閉じることを表します。このプロトコルのハンドラーをインストールすると、このイベントが発生したときの望ましい動作を定義できます。
WM_DELETE_WINDOW プロトコルのハンドラーをインストールするには、Tk でプロトコル メソッドを使用します。またはトップレベルのウィジェット。構文は次のとおりです。
<code class="python">widget.protocol("WM_DELETE_WINDOW", callback)</code>
ここで、ウィジェットはクローズ イベントを処理する Tk またはトップレベル ウィジェットであり、コールバックはウィンドウが閉じられたときに実行する関数です。
次のコードは、Tkinter プログラムでウィンドウを閉じるイベントを処理する方法を示しています。
<code class="python">import tkinter as tk from tkinter import messagebox # Create a Tk root window root = tk.Tk() # Define the callback function for the close event def on_closing(): # Prompt the user for confirmation before quitting if messagebox.askokcancel("Quit", "Do you want to quit?"): root.destroy() # Install the handler for the window close event root.protocol("WM_DELETE_WINDOW", on_closing) # Start the Tkinter event loop root.mainloop()</code>
この例では、ユーザーが「X」ボタンをクリックすると、確認ダイアログが表示されます。辞めることを確認するよう促します。ユーザーが確認すると、destroy メソッドが呼び出されてウィンドウが閉じます。それ以外の場合、イベントは無視されます。
以上がTkinter でウィンドウを閉じるイベントを処理するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。