ホームページ > バックエンド開発 > Python チュートリアル > Tkinter でウィンドウを閉じるイベントを処理するには?

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

Patricia Arquette
リリース: 2024-10-27 01:44:30
オリジナル
957 人が閲覧しました

How to Handle the Window Close Event in Tkinter?

Tkinter での Window Close イベントの処理

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート