PyGTK - Hizalama Sınıfı
Bu pencere öğesi, alt pencere öğelerinin hizalamasını ve boyutunu kontrol etmede yararlı olduğunu kanıtladı. Xalign, yalign, xscale ve yscale adlı dört özelliğe sahiptir. Ölçek özellikleri, alt pencere öğeleri tarafından ne kadar boş alan kullanılacağını belirtir. Hizalama özellikleri, alt pencere aracını kullanılabilir alana yerleştirmek için kullanılır.
Dört özellik de 0 ile 1.0 arasında bir kayan değer alır. Xscale ve yscale özelliği 0 olarak ayarlanmışsa, bu, widget'ın hiçbir boş alanı emmediği anlamına gelir ve 1 olarak ayarlandığında, widget sırasıyla yatay veya dikey olarak maksimum boş alanı emer.
Xalign ve yalign özelliği, 0 olarak ayarlanırsa, sol veya yukarıdaki widget'ta boş alan olmayacağı anlamına gelir. 1 olarak ayarlanırsa, widget'ın solunda veya üstünde maksimum boş alan olacaktır.
Gtk.alignment sınıfı aşağıdaki yapıcıya sahiptir -
gtk.alignment(xalign = 0.0, yalign = 0.0, xscale = 0.0, yscale = 0.0)
Nerede,
xalign - Alt widget'in solundaki yatay boş alanın oranıdır.
yalign - Alt parçacığın üzerindeki dikey boş alanın oranıdır.
xscale - Alt widget'in emdiği yatay boş alanın oranıdır.
yscale - Alt widget'in soğurduğu dikey boş alanın oranıdır.
Misal
Aşağıdaki kod, gtk.alignment widget'ının kullanımını gösterir. Üst seviye penceredeki bir Vbox, içine yerleştirilmiş bir üst Vbox ve alt Hbox'a sahiptir. Üstteki dikey kutuya, sola doğru, alanın% 50'si boş kalacak ve yalign özelliklerine 0.5 xalign ve 0.25 atanarak bunun% 25'inden fazlası doldurulacak şekilde bir etiket ve bir Giriş widget'ı yerleştirilir.
Alt HBox'ta, mevcut tüm boş alan sol taraftadır. Bu, xalign özelliğine 1 atanarak elde edilir. Bu nedenle, yatay kutudaki iki düğme sağa hizalı görünür.
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()
Yukarıdaki kod aşağıdaki çıktıyı üretir -