Heim  >  Artikel  >  Backend-Entwicklung  >  Wie gehe ich mit Fensterschließereignissen in Python Tkinter um?

Wie gehe ich mit Fensterschließereignissen in Python Tkinter um?

Barbara Streisand
Barbara StreisandOriginal
2024-10-27 08:30:03620Durchsuche

How to Handle Window Close Events in Python Tkinter?

Verarbeiten von Fensterschließereignissen in Python Tkinter

Wie verwalten Sie das Szenario, in dem ein Benutzer ein Fenster schließt, indem er auf das entsprechende „X“ klickt? Schaltfläche innerhalb eines Tkinter-Programms?

Antwort auf die Frage:

Tkinter führt das Konzept von Protokollhandlern ein, um die Kommunikation zwischen einer Anwendung und dem entsprechenden Fenstermanager zu verwalten. Das in diesem Zusammenhang häufig verwendete WM_DELETE_WINDOW-Protokoll beschreibt die Vorgehensweise, wenn ein Benutzer sich dafür entscheidet, ein Fenster manuell zu schließen.

Um einen Handler für das WM_DELETE_WINDOW-Protokoll einzurichten, verwenden Sie die Protokollmethode. Diese Protokollinstallation gilt für Tk- und Toplevel-Widgets.

Codeillustration:

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

root = tk.Tk()

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

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

In diesem Beispiel fordert die Funktion on_closing den Benutzer zur Bestätigung auf, bevor sie fortfährt Fensterzerstörung.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit Fensterschließereignissen in Python Tkinter um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn