Comment créer une nouvelle fenêtre en cliquant sur un bouton dans Tkinter
Dans ce tutoriel, nous allons vous montrer comment créer et ouvrir une nouvelle fenêtre Tkinter en cliquant sur un bouton dans Tkinter.
Créer une nouvelle fenêtre Tkinter
import tkinter as tk
def createNewWindow():
newWindow = tk.Toplevel(app)
app = tk.Tk()
buttonExample = tk.Button(app, text="Create new window", command=createNewWindow)
buttonExample.pack()
app.mainloop()
Nous utilisons normalement tk.Tk()
pour créer une nouvelle fenêtre Tkinter, mais ce n’est pas valable si nous avons déjà créé une fenêtre racine comme indiqué dans les codes ci-dessus.
Toplevel
est le bon widget dans cette circonstance car le widget Toplevel
est destiné à afficher des fenêtres pop-up
supplémentaires.
buttonExample = tk.Button(app, text="Create new window", command=createNewWindow)
Il lie la fonction createNewWindow
au bouton.
La nouvelle fenêtre est une fenêtre vide dans l’exemple ci-dessus et vous pouvez y ajouter d’autres widgets comme vous le feriez dans une fenêtre racine normale, mais vous devez changer le widget parent pour la fenêtre Toplevel
créée.
import tkinter as tk
def createNewWindow():
newWindow = tk.Toplevel(app)
labelExample = tk.Label(newWindow, text="New Window")
buttonExample = tk.Button(newWindow, text="New Window button")
labelExample.pack()
buttonExample.pack()
app = tk.Tk()
buttonExample = tk.Button(app, text="Create new window", command=createNewWindow)
buttonExample.pack()
app.mainloop()
Comme vous avez pu le voir, labelExample
et buttonExample
ont leur widget parent comme newWindow
mais pas app
.
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook