PyGTK - ButtonBox Sınıfı
Gtk API'deki ButtonBox sınıfı, kapsayıcıların birden çok düğmeyi yatay veya dikey olarak tutması için temel bir sınıf görevi görür. İki alt sınıf HButtonBox ve VButtonBox, kendisi de gtk.Box sınıfının bir alt sınıfı olan ButtonBox sınıfından türetilir.
Bir uygulama boyunca tutarlı bir düğme düzeni sağlamak için bir düğme kutusu kullanılır. Tüm widget'larda kalıcı olan bir varsayılan düzen ve varsayılan bir aralık değeri sağlar.
set_spacing() gtk.Box sınıfının yöntemi, düğme kutusundaki düğmeler arasındaki varsayılan aralığı değiştirmek için kullanılabilir.
Varsayılan düğme düzeni, set_default()yöntem. Düğme düzeninin olası değerleri şunlardır:
gtk.BUTTONBOX_SPREAD
gtk.BUTTONBOX_EDGE
gtk.BUTTONBOX_START
gtk.BUTTONBOX_END.
Misal
Aşağıdaki örnekte, üst düzey pencerenin içindeki bir VBox nesnesi dahili olarak bir VButtonBox nesnesi ve her biri sırasıyla dikey ve yatay olarak düzenlenmiş iki düğme içeren bir HButtonBox nesnesi içerir.
Kodu inceleyin -
import gtk
class PyApp(gtk.Window):
def __init__(self):
super(PyApp, self).__init__()
self.set_title("Button Box demo")
self.set_size_request(200,100)
self.set_position(gtk.WIN_POS_CENTER)
vb = gtk.VBox()
box1 = gtk.VButtonBox()
btn1 = gtk.Button(stock = gtk.STOCK_OK)
btn2 = gtk.Button(stock = gtk.STOCK_CANCEL)
box1.pack_start(btn1, True, True, 0)
box1.pack_start(btn2, True, True, 0)
box1.set_border_width(5)
vb.add(box1)
box2 = gtk.HButtonBox()
btn3 = gtk.Button(stock = gtk.STOCK_OK)
btn4 = gtk.Button(stock = gtk.STOCK_CANCEL)
ent = gtk.Entry()
box2.pack_start(btn3, True, True, 0)
box2.pack_start(btn4, True, True, 0)
box1.set_border_width(5)
vb.add(box2)
self.add(vb)
self.show_all()
PyApp()
gtk.main()
Yukarıdaki kod aşağıdaki çıktıyı üretir -