Tkinter — это набор инструментов с графическим интерфейсом, используемый в python для создания удобных графических интерфейсов.Tkinter — это наиболее часто используемая и самая базовая структура графического интерфейса, доступная в Python. Tkinter использует объектно-ориентированный подход для создания графических интерфейсов.
Примечание: Для получения дополнительной информации обратитесь к графическому интерфейсу Python – tkinter
Виджет верхнего уровня
Виджет верхнего уровня используется для создания окна поверх всех других окон. Виджет верхнего уровня используется для предоставления пользователю дополнительной информации, а также когда наша программа работает с несколькими приложениями. Эти окна непосредственно организованы и управляются оконным менеджером, и им не нужно каждый раз связывать с ними какое-либо родительское окно.
Синтаксис:
toplevel = Toplevel(root, bg, fg, bd, height, width, font, ..)
Дополнительные параметры
- root = корневое окно(необязательно)
- bg = цвет фона
- fg = цвет переднего плана
- bd = граница
- height = высота виджета.
- width = ширина виджета.
- font = Тип шрифта текста.
- cursor = курсор, который появляется на виджете, который может быть стрелкой, точкой и т.д.
Распространенные методы
- iconify превращает окна в иконку.
- deiconify превращает значок обратно в окно.
- state возвращает текущее состояние окна.
- withdraw удаляет окно с экрана.
- title определяет заголовок для окна.
- frame возвращает идентификатор окна, зависящий от конкретной системы.
Пример 1:
from tkinter import *
root = Tk()
root.geometry("200x300")
root.title("main")
l = Label(root, text = "This is root window")
top = Toplevel()
top.geometry("180x100")
top.title("toplevel")
l2 = Label(top, text = "This is toplevel window")
l.pack()
l2.pack()
top.mainloop()
Выход
Пример 2.
Создание нескольких верхних уровней друг над другом
from tkinter import *
# Create the root window
# with specified size and title
root = Tk()
root.title("Root Window")
root.geometry("450x300")
# Create label for root window
label1 = Label(root, text = "This is the root window")
# define a function for 2nd toplevel
# window which is not associated with
# any parent window
def open_Toplevel2():
# Create widget
top2 = Toplevel()
# define title for window
top2.title("Toplevel2")
# specify size
top2.geometry("200x100")
# Create label
label = Label(top2,
text = "This is a Toplevel2 window")
# Create exit button.
button = Button(top2, text = "Exit",
command = top2.destroy)
label.pack()
button.pack()
# Display until closed manually.
top2.mainloop()
# define a function for 1st toplevel
# which is associated with root window.
def open_Toplevel1():
# Create widget
top1 = Toplevel(root)
# Define title for window
top1.title("Toplevel1")
# specify size
top1.geometry("200x200")
# Create label
label = Label(top1,
text = "This is a Toplevel1 window")
# Create Exit button
button1 = Button(top1, text = "Exit",
command = top1.destroy)
# create button to open toplevel2
button2 = Button(top1, text = "open toplevel2",
command = open_Toplevel2)
label.pack()
button2.pack()
button1.pack()
# Display until closed manually
top1.mainloop()
# Create button to open toplevel1
button = Button(root, text = "open toplevel1",
command = open_Toplevel1)
label1.pack()
# position the button
button.place(x = 155, y = 50)
# Display until closed manually
root.mainloop()