Sök…


Introduktion

Det finns tre geometrihanterare att placera widgets: pack() , grid() och place() .

packa()

pack() geometrihanteraren organiserar widgetar i block innan de placeras i överordnade widget. Den använder alternativen fill , expand och side .

Syntax

widget.pack(option)

Fylla
Bestämmer om widgeten behåller det minimala utrymme som behövs eller tar upp extra utrymme som tilldelats den. Attribut: INGEN (standard), X (fyll horisontellt), Y (fyll vertikalt) eller BÅDE (fyll både horisontellt och vertikalt).

Bygga ut
När inställd på JA, expanderar widgeten för att fylla utrymme som inte används i widgetens överordnade. Attribut: JA, NEJ.

Sida
Bestämmer vilken sida av widgetens överordnade den packar till. Attribut: TOPP (standard), BOTTOM, VÄNSTER eller HÖGER.

Exempel

from tkinter import *
root = Tk()
btn_fill = Button(root, text="Button")
btn_fill.pack(fill=X)

btn_expand = Button(root, text="Button")
btn_expand.pack(expand=YES)

btn_side = Button(root, text="Button")
btn_side.pack(side=RIGHT)

root.mainloop()

Resultat

Packexempel

rutnät()

grid() geometrihanteraren organiserar widgetar i en tabellliknande struktur i överordnade widget. Huvudwidgeten är uppdelad i rader och kolumner, och varje del av tabellen kan innehålla en widget. Den använder column , columnspan , ipadx , ipady , padx , pady , row , rowspan och sticky .

Syntax

widget.grid(options)

Kolumn
Kolumnen att lägga in widgeten. Standardkolumnen är 0, vilket är den längsta kolumnen till vänster.

Columnspan
Hur många kolumner widget tar upp. Standardvärdet är 1.

Ipadx
Hur många pixlar som ska plocka widget horisontellt inom widgetens gränser.

Ipady
Hur många pixlar som ska plocka widgeten vertikalt inom widgetens gränser.

Padx
Hur många pixlar att padda widget horisontellt utan widgetens gränser.

Pady
Hur många pixlar att padda widgeten vertikalt utanför widgetens gränser.

Rad
Raden att lägga in widgeten. Standardraden är 0, som är den översta kolumnen.

rowspan
Hur många rader widgeten tar upp. Standardvärdet är 1.

Klibbig
När widgeten är mindre än cellen används sticky för att indikera vilka sidor och hörn på cellen widgeten fastnar på. Riktningen definieras av kompassriktningar: N, E, S, W, NE, NW, SE och SW och noll. Dessa kan vara en strängkoncatenation, till exempel, NESW gör att widgeten tar upp hela området.

Exempel

from tkinter import *
root = Tk()
btn_column = Button(root, text="I'm in column 3")
btn_column.grid(column=3)

btn_columnspan = Button(root, text="I have a columnspan of 3")
btn_columnspan.grid(columnspan=3)

btn_ipadx = Button(root, text="ipadx of 4")
btn_ipadx.grid(ipadx=4)

btn_ipady = Button(root, text="ipady of 4")
btn_ipady.grid(ipady=4)

btn_padx = Button(root, text="padx of 4")
btn_padx.grid(padx=4)

btn_pady = Button(root, text="pady of 4")
btn_pady.grid(pady=4)

btn_row = Button(root, text="I'm in row 2")
btn_row.grid(row=2)

btn_rowspan = Button(root, text="Rowspan of 2")
btn_rowspan.grid(rowspan=2)

btn_sticky = Button(root, text="I'm stuck to north-east")
btn_sticky.grid(sticky=NE)

root.mainloop()

Resultat

Rasterexempel

plats()

place() -hanteraren organiserar widgetar genom att placera dem i en specifik position i överordnade widget. Denna geometri manager använder alternativ anchor , bordermode , height , width , relheight , relwidth , relx , rely , x och y .

Ankare
Anger var widgeten är förankrad till. Alternativen är kompassriktningar: N, E, S, W, NE, NW, SE eller SW, som relaterar till sidorna och hörnen på överordnad widget. Standard är NW (det övre vänstra hörnet av widgeten)

Bordermode
Bordermode har två alternativ: INSIDE , vilket indikerar att andra alternativ hänvisar till föräldrarnas insida, (Ignorerar föräldrarnas gränser) och OUTSIDE , vilket är motsatsen.

Höjd
Ange höjden på en widget i pixlar.

Bredd
Ange bredden på en widget i pixlar.

Relheight
Höjd som en flottör mellan 0,0 och 1,0, som en bråkdel av höjden på överordnad widget.

Relwidth
Bredd som en flottör mellan 0,0 och 1,0, som en bråkdel av bredden på överordnad widget.

relx
Horisontell offset som en flottör mellan 0,0 och 1,0, som en bråkdel av bredden på överordnad widget.

Bero
Vertikal offset som en flottör mellan 0,0 och 1,0, som en bråkdel av höjden på överordnad widget.

X
Horisontell offset i pixlar.

Y
Vertikal förskjutning i pixlar.

Exempel

from tkinter import *
root = Tk()
root.geometry("500x500")

btn_height = Button(root, text="50px high")
btn_height.place(height=50, x=200, y=200)

btn_width = Button(root, text="60px wide")
btn_width.place(width=60, x=300, y=300)

btn_relheight = Button(root, text="Relheight of 0.6")
btn_relheight.place(relheight=0.6)

btn_relwidth= Button(root, text="Relwidth of 0.2")
btn_relwidth.place(relwidth=0.2)

btn_relx=Button(root, text="Relx of 0.3")
btn_relx.place(relx=0.3)

btn_rely=Button(root, text="Rely of 0.7")
btn_rely.place(rely=0.7)

btn_x=Button(root, text="X = 400px")
btn_x.place(x=400)

btn_y=Button(root, text="Y = 321")
btn_y.place(y=321)

root.mainloop()

Resultat

Placera exempel



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow