You are currently viewing Метод Python | pack() в Tkinter

Метод Python | pack() в Tkinter

Менеджер геометрии пакета упаковывает виджеты в строки или столбцы. Мы можем использовать такие параметры, как заполнениерасширениеи сторона, для управления этим менеджером геометрии.
По сравнению с сетевым менеджером менеджер пакетов несколько ограничен, но его гораздо проще использовать в нескольких, но довольно распространенных ситуациях:

  • Поместите виджет внутри рамки (или любого другого виджета-контейнера) и заставьте его заполнить весь кадр
  • Поместите несколько виджетов друг на друга
  • Разместите ряд виджетов рядом

Код № 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()

Выход: