Frame
-Widget, erlaubt es Layout-Elemente zu gruppieren.
Bei größeren Oberfläche fasst man Teile der GUI in Frames zusammen um sie leichter anordnen zu können.
borderwidth/bd
Gibt die Breite des Rahmens an (standardmäßig ist sie 0) relief
Gibt die Rahmenart an:
FLAT
kein Rahmen (Standard)RAISED
erhobenSUNKEN
eingesunkenGROOVE
vertiefter RahmenRIDGE
erhöhter Rahmenpadx
Linker und rechter Abstand vom Rand zum Inhalt des Frames.padx=(5,10)
), dann ist der rechte Abstand 5 und der linke ist 10.
pady
Abstand oben und unten vom Rand. Analog zu padx
.
tkinter
anordnen zu lassen gibt es pack
und grid
.
pack
bringt man ein Widget auf die Oberfläche.
side
gibt die Seite an, auf die das Widget im Eltern-Container gepackt wird.'top', 'bottom', 'left', 'right'
(Standard ist 'top'
).
fill
Standardmäßig nimmt ein Widget so viel Platz ein wie es minimal benötigt.
fill
kann man es so weit wachsen lassen wie es geht."x"
, "y"
und "both"
padx, pady
Abstand in x bzw. y-Richtung außerhalb des Widgets
ipadx, ipady
Abstand in x bzw. y-Richtung innerhalb des Widgets
expand
Wird diese Option auf True
gesetzt wächst das Widget mit, wenn man das Fenster vergrößert.
anchor
Hiermit "klebt" man das Widget an einem oder mehreren Rändern des umgebenden Fensters fest."n", "s", "e"
und "w"
und Kombinationen wie "nsew"
.
grid
weißt einem Widget eine Zelle im Gitter der Oberfläche zu.
row, column
Der Zeilen/Spalten Index auf der Oberfläche (beides beginnt mit 0).
columnspan, rowspan
legt fest über wie viele Spalten/Zeilen ein Widget geht.
padx, pady
Abstand in x bzw. y-Richtung außerhalb des Widgets
ipadx, ipady
Abstand in x bzw. y-Richtung innerhalb des Widgets
sticky
Hiermit "klebt" man das Widget an einem oder mehreren Rändern der umgebenden Zelle fest."n", "s", "e"
und "w"
und Kombinationen wie "nsew"
.
pack
kann man hier für jede Zeile und Spalte angeben,
wie sich diese vergrößert, wenn man das Fenster vergrößert.columnconfigure(Spalte, weight=Gewicht)
legt man für die Spalte fest wie stark sie sich vergrößert.
Das Gewicht ist eine ganze Zahl (Standard: 0), desto größer diese Zahl ist,
desto stärker verbreitert sich die Spalte. Der Platz wird durch die Summe aller Gewichte geteilt und dann für
jedes Widget mit seinem Gewicht multipliziert, um den zusätzlichen Platz für das Widget zu ermitteln.
rowconfigure(Zeile, weight=Gewicht)
kann man die Vergrößerung in y-Richtung analog steuern.
from tkinter import *
class Fenster(Tk):
def __init__(self):
Tk.__init__(self)
Label(self, text="Vorname:").grid(row=0,column=0)
Label(self, text="Nachname:").grid(row=1,column=0)
Entry(self).grid(row=0,column=1, sticky="ew")
Entry(self).grid(row=1,column=1, sticky="ew")
# Spalte 1 soll in x-Richtung wachsen
alles.columnconfigure(1, weight=1)