Менеджер геометрии пакета упаковывает виджеты в строки или столбцы. Мы можем использовать такие параметры, как заполнение, расширениеи сторона, для управления этим менеджером геометрии.
По сравнению с сетевым менеджером менеджер пакетов несколько ограничен, но его гораздо проще использовать в нескольких, но довольно распространенных ситуациях:
- Поместите виджет внутри рамки (или любого другого виджета-контейнера) и заставьте его заполнить весь кадр
- Поместите несколько виджетов друг на друга
- Разместите ряд виджетов рядом
Код № 1:
Размещение виджета внутри рамки и заполнение всего кадра. Мы можем сделать это с помощью опций расширения и заполнения.
# Importing tkinter module
from tkinter import * from tkinter.ttk import *
# creating Tk window
master = Tk()
# creating a Fra, e which can expand according
# to the size of the window
pane = Frame(master)
pane.pack(fill = BOTH, expand = True)
# button widgets which can also expand and fill
# in the parent widget entirely
# Button 1
b1 = Button(pane, text = "Click me !")
b1.pack(fill = BOTH, expand = True)
# Button 2
b2 = Button(pane, text = "Click me too")
b2.pack(fill = BOTH, expand = True)
# Execute Tkinter
master.mainloop()
Выход:
Код № 2:
Размещение виджетов друг над другом и бок о бок. Мы можем сделать это бок о бок.
# Importing tkinter module
from tkinter import *
# from tkinter.ttk import *
# creating Tk window
master = Tk()
# creating a Fra, e which can expand according
# to the size of the window
pane = Frame(master)
pane.pack(fill = BOTH, expand = True)
# button widgets which can also expand and fill
# in the parent widget entirely
# Button 1
b1 = Button(pane, text = "Click me !",
background = "red", fg = "white")
b1.pack(side = TOP, expand = True, fill = BOTH)
# Button 2
b2 = Button(pane, text = "Click me too",
background = "blue", fg = "white")
b2.pack(side = TOP, expand = True, fill = BOTH)
# Button 3
b3 = Button(pane, text = "I'm also button",
background = "green", fg = "white")
b3.pack(side = TOP, expand = True, fill = BOTH)
# Execute Tkinter
master.mainloop()
Выход:
Код № 3:
# Importing tkinter module
from tkinter import *
# from tkinter.ttk import *
# creating Tk window
master = Tk()
# creating a Fra, e which can expand according
# to the size of the window
pane = Frame(master)
pane.pack(fill = BOTH, expand = True)
# button widgets which can also expand and fill
# in the parent widget entirely
# Button 1
b1 = Button(pane, text = "Click me !",
background = "red", fg = "white")
b1.pack(side = LEFT, expand = True, fill = BOTH)
# Button 2
b2 = Button(pane, text = "Click me too",
background = "blue", fg = "white")
b2.pack(side = LEFT, expand = True, fill = BOTH)
# Button 3
b3 = Button(pane, text = "I'm also button",
background = "green", fg = "white")
b3.pack(side = LEFT, expand = True, fill = BOTH)
# Execute Tkinter
master.mainloop()