Maison > développement back-end > Tutoriel Python > Comment gérer l'événement de fermeture de fenêtre dans Tkinter ?

Comment gérer l'événement de fermeture de fenêtre dans Tkinter ?

Patricia Arquette
Libérer: 2024-10-27 01:44:30
original
957 Les gens l'ont consulté

How to Handle the Window Close Event in Tkinter?

Gestion de l'événement de fermeture de fenêtre dans Tkinter

La gestion des interactions utilisateur est cruciale dans la programmation GUI. Un événement essentiel à gérer est l'événement de fermeture de la fenêtre, qui se produit lorsque l'utilisateur clique sur le bouton « X » dans la barre de titre de la fenêtre. Dans Tkinter, cet événement peut être géré à l'aide de gestionnaires de protocole.

Gestionnaires de protocole

Le protocole WM_DELETE_WINDOW de Tkinter représente l'utilisateur qui ferme explicitement la fenêtre via le gestionnaire de fenêtres. En installant un gestionnaire pour ce protocole, vous pouvez définir le comportement souhaité lorsque cet événement se produit.

Installation d'un gestionnaire

Pour installer un gestionnaire pour le protocole WM_DELETE_WINDOW, utilisez la méthode du protocole sur un Tk ou widget de niveau supérieur. La syntaxe est la suivante :

<code class="python">widget.protocol("WM_DELETE_WINDOW", callback)</code>
Copier après la connexion

Où le widget est le widget Tk ou Toplevel dont vous souhaitez gérer l'événement de fermeture, et le rappel est la fonction à exécuter lorsque la fenêtre est fermée.

Exemple

Le code suivant montre comment gérer l'événement de fermeture de fenêtre dans un programme 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>
Copier après la connexion

Dans cet exemple, lorsque l'utilisateur clique sur le bouton "X", une boîte de dialogue de confirmation apparaît les invitant à confirmer leur arrêt. Si l'utilisateur confirme, la méthode destroy est appelée pour fermer la fenêtre. Sinon, l'événement est ignoré.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal