You are currently viewing Python Tkinter – Виджет верхнего уровня

Python Tkinter – Виджет верхнего уровня

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()

Выход