Инструменты пользователя

Инструменты сайта


python:okonnoe_prilozhenie:tkinter:upakovschiki:pack

метод pack ()

Этот упаковщик организует виджеты в блоки перед размещением их в родительском виджете.

Синтаксис:

widget.pack( pack_options )

Вот список возможных вариантов -

  • expand - При значении true виджет расширяется, заполняя любое пространство, не используемое в родительском виджете.
  • fill - Определяет, заполняет ли виджет какое-либо дополнительное пространство, выделенное ему упаковщиком, или сохраняет свои собственные минимальные размеры: НЕТ (по умолчанию), X (заполнение только по горизонтали), Y (заполнение только по вертикали) или ОБА (заполнение как по горизонтали, так и по вертикали).
  • side - определяет с какой стороны окна отрисовывать виджет

Примеры:

from tkinter import *
 
root = Tk()
frame = Frame(root)
frame.pack()
 
bottomframe = Frame(root)
bottomframe.pack( side = BOTTOM )
 
redbutton = Button(frame, text = "Red", fg = "red")
redbutton.pack( side = LEFT)
 
greenbutton = Button(frame, text = "Brown", fg = "brown")
greenbutton.pack( side = LEFT )
 
bluebutton = Button(frame, text = "Blue", fg = "blue")
bluebutton.pack( side = LEFT )
 
blackbutton = Button(bottomframe, text = "Black", fg = "black")
blackbutton.pack( side = BOTTOM)
 
root.mainloop()

Когда приведенный выше код выполняется, он дает следующий результат -

side -расстановка контейнеров

from tkinter import *
 
root = Tk()
root.geometry("600x400")
 
l1 = Label(root, text="1", font="15", fg="#fff", bg="#3498db" , width=8, height=4).pack(side=TOP)
l2 = Label(root, text="2", font="15", fg="#fff", bg="#ff0000" , width=8, height=4).pack(side=RIGHT)
l3 = Label(root, text="3", font="15", fg="#fff", bg="#5252aa" , width=8, height=4).pack(side=BOTTOM)
l4 = Label(root, text="4", font="15", fg="#fff", bg="#6daf52" , width=8, height=4).pack(side=LEFT)
 
root.mainloop()

fill и expand (расстянуть)

from tkinter import *
 
root = Tk()
root.geometry("600x400")
 
l1 = Label(root, text="1", font="15", fg="#fff", bg="#3498db" , width=8, height=4).pack(expand=1, fill= BOTH)
 
root.mainloop()

anchor - относительное смещение

from tkinter import *
 
root = Tk()
root.geometry("600x400")
 
l1 = Label(root, text="1", font="15", fg="#fff", bg="#3498db" , width=8, height=4).pack(expand=1, anchor= NE)
 
root.mainloop()

python/okonnoe_prilozhenie/tkinter/upakovschiki/pack.txt · Последние изменения: 2023/01/12 12:18 (внешнее изменение)