Как создать новое окно, нажав кнопку в Tkinter
В этом уроке мы покажем, как создать и открыть новое окно Tkinter, нажав на кнопку в Tkinter.
Создать новое окно 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()
Обычно мы используем tk.Tk()
для создания нового окна Tkinter, но это недействительно, если мы уже создали корневое окно, как показано в вышеприведенных кодах.
Toplevel
является подходящим виджетами в данном случае, так как виджет Toplevel
предназначен для отображения дополнительных всплывающих окон.
buttonExample = tk.Button(app,
text="Create new window",
command=createNewWindow)
Он привязывает функцию createNewWindow
к кнопке.
Новое окно в приведенном выше примере является пустым, и вы можете добавить в него больше виджетов, так же как и в обычное корневое окно, но при этом необходимо изменить родительский виджет на созданное окно Toplevel
.
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()
Как вы могли видеть, labelExample
и buttonExample
имеют свой родительский виджет как newWindow
, но не app
.