from tkinter import * ############################################################################### # Fonction de navigation entre les fenêtres ############################################################################### def afficher_fenetre1(): racine.withdraw() # cacher la fenetre racine fenetre1.deiconify() # afficher la fenetre1 def afficher_racine(): fenetre1.withdraw() # cacher la fenetre racine racine.deiconify() # afficher la fenetre1 ############################################################################### # Définitions de la fenêtre racine ############################################################################### # La fenêtre racine. Il ne peut y en avoir qu’une. racine = Tk() # On met un label sur la racine pour identifier la fenêtre. label1 = Label(racine, text="""Ceci est la fenêtre racine, l’application se termine lorsqu’on la ferme.""") label1.pack() # On a un bouton qui ouvre une nouvelle fenetre button1 = Button(racine, text="afficher", command=afficher_fenetre1) button1.pack() ############################################################################### # Définitions de la fenêtre 1 ############################################################################### # On peut créer autant de fenêtres toplevel que l’on veut fenetre1 = Toplevel(racine) label2 = Label(fenetre1, text="""Ceci est une fenêtre en plus, la fermer n’affectera pas les autres.""") label2.pack() # Un bouton pour quiter le programme. Il appelle la fonction racine.quit() bouton_quiter = Button(fenetre1, text="quiter", command=racine.quit) bouton_quiter.pack() # Un bouton qui revient à la fenetre racine bouton_racine = Button(fenetre1, text="Retour", command=afficher_racine) bouton_racine.pack() # On cache la fenetre1 fenetre1.withdraw() ############################################################################### # Démarrage du programme ############################################################################### racine.mainloop()