113 votes

Comment fermer une fenêtre tkinter ?

Comment puis-je mettre fin à un programme Tkinter ? Supposons que j'ai ce code :

from Tkinter import *

def quit():
    # code to exit

root = Tk()
Button(root, text="Quit", command=quit).pack()
root.mainloop()

Comment dois-je définir la fonction quit pour quitter mon application ?

44voto

Matt Gregory Points 978
def quit()
    root.quit()

ou

def quit()
    root.destroy()

7voto

TreeDoNotSplit Points 11

Je pense que tu as mal compris la fonction de démission de Tkinter. Cette fonction ne nécessite pas de définir.

Tout d'abord, vous devez modifier votre fonction comme suit :

from Tkinter import *
root = Tk()
Button(root, text="Quit", command=root.quit).pack()
root.mainloop()

Ensuite, vous devez utiliser le suffixe '.pyw' pour enregistrer ces fichiers et double-cliquer sur le fichier '.pyw' pour exécuter votre interface graphique. Cette fois, vous pouvez terminer l'interface graphique en cliquant sur le bouton, et vous pouvez également constater qu'il n'y aura pas de fenêtre DOS désagréable. (Si vous exécutez le fichier '.py', la fonction quit échouera.)

5voto

dF. Points 29787

La méthode habituelle pour quitter un programme Python :

sys.exit()

(auquel vous pouvez également passer un statut de sortie) ou

raise SystemExit

fonctionnera très bien dans un programme Tkinter.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X