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 RahmenpadxLinker 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)