Tkinter comment ouvrir une fenêtre et masquer l'autre?
Si vous vous demander comment on peut faire pour ouvrir une fenêtre sur Tkinter et masquer l'autre fenêtre sachant qu'il y'a 2 fenêtres, ce post est pour vous!
Le principe est simple:
- Vous créez 2 widgets (Demo1 et Demo2)
- Ensuite vous initialiser Demo1 et lorsque vous voulez afficher Demo2, détruisez tout simplement Demo1 puis créez une nouvelle instance de Tkinter qui va charger Demo2!
Ci-dessous le code Python2.7
import Tkinter as tk
class Demo1:
def __init__(self, master):
self.master = master
self.frame = tk.Frame(self.master)
self.HelloButton = tk.Button(self.frame, text='Salut!', width=25, command = self.new_window)
self.HelloButton.pack()
self.frame.pack()
def close_windows(self):
self.master.destroy()
self.new_window
def new_window(self):
self.master.destroy() # Fermer la fenetre courante
self.master = tk.Tk() # Creer une autre instance de Tk()
self.app = Demo2(self.master) # Creer la fenetre de Demo2
self.master.mainloop()
class Demo2:
def __init__(self, master):
self.master = master
self.frame = tk.Frame(self.master)
self.quitButton = tk.Button(self.frame, text='Quitter', width=25, command=self.close_windows)
self.quitButton.pack()
self.frame.pack()
def close_windows(self):
self.master.destroy()
def main():
root = tk.Tk()
app = Demo1(root)
root.mainloop()
if __name__ == '__main__':
main()