PyGTK - Ausrichtungsklasse
Dieses Widget ist nützlich, um die Ausrichtung und Größe der untergeordneten Widgets zu steuern. Es verfügt über vier Eigenschaften, die als xalign, yalign, xscale und yscale bezeichnet werden. Die Skalierungseigenschaften geben an, wie viel freier Speicherplatz von den untergeordneten Widgets verwendet wird. Die Ausrichtungseigenschaften werden verwendet, um das untergeordnete Widget im verfügbaren Bereich zu platzieren.
Alle vier Eigenschaften nehmen einen Gleitkommawert zwischen 0 und 1,0 an. Wenn die Eigenschaften xscale und yscale auf 0 gesetzt sind, bedeutet dies, dass das Widget keinen freien Speicherplatz absorbiert. Wenn es auf 1 gesetzt ist, absorbiert das Widget den maximalen freien Speicherplatz horizontal bzw. vertikal.
Die Eigenschaften xalign und yalign, wenn sie auf 0 gesetzt sind, bedeuten, dass links oder über dem Widget kein freier Speicherplatz vorhanden ist. Bei der Einstellung 1 steht links oder über dem Widget maximal freier Speicherplatz zur Verfügung.
Die Klasse gtk.alignment hat den folgenden Konstruktor:
gtk.alignment(xalign = 0.0, yalign = 0.0, xscale = 0.0, yscale = 0.0)
Wo,
xalign - Ist der Bruchteil des horizontalen freien Speicherplatzes links vom untergeordneten Widget.
yalign - Ist der Anteil des vertikalen freien Speicherplatzes über dem untergeordneten Widget.
xscale - Ist der Anteil des horizontalen freien Speicherplatzes, den das untergeordnete Widget absorbiert.
yscale - Ist der Anteil des vertikalen freien Speicherplatzes, den das untergeordnete Widget absorbiert.
Beispiel
Der folgende Code veranschaulicht die Verwendung des Widgets gtk.alignment. In einer Vbox im Fenster der obersten Ebene befinden sich eine obere Vbox und eine untere Hbox. Im oberen vertikalen Feld werden eine Beschriftung und ein Eintrags-Widget so platziert, dass nach links 50% des Speicherplatzes frei bleiben und mehr als 25% davon belegt werden, indem yalign-Eigenschaften 0,5 xalign und 0,25 zugewiesen werden.
In der unteren HBox befindet sich der gesamte verfügbare freie Speicherplatz auf der linken Seite. Dies wird erreicht, indem der Eigenschaft xalign 1 zugewiesen wird. Daher werden zwei Schaltflächen im horizontalen Feld rechtsbündig angezeigt.
import gtk
class PyApp(gtk.Window):
def __init__(self):
super(PyApp, self).__init__()
self.set_title("Alignment demo")
self.set_size_request(400,200)
self.set_position(gtk.WIN_POS_CENTER)
vbox = gtk.VBox(False, 5)
vb = gtk.VBox()
hbox = gtk.HBox(True, 3)
valign = gtk.Alignment(0.5,0.25, 0, 0)
lbl = gtk.Label("Name of student")
vb.pack_start(lbl, True, True, 10)
text = gtk.Entry()
vb.pack_start(text, True, True, 10)
valign.add(vb)
vbox.pack_start(valign)
ok = gtk.Button("OK")
ok.set_size_request(70, 30)
close = gtk.Button("Close")
hbox.add(ok)
hbox.add(close)
halign = gtk.Alignment(1, 0, 0, 0)
halign.add(hbox)
vbox.pack_start(halign, False, False, 3)
self.add(vbox)
self.connect("destroy", gtk.main_quit)
self.show_all()
PyApp()
gtk.main()
Der obige Code erzeugt die folgende Ausgabe -