PyGTK - Classe ButtonBox
A classe ButtonBox na API gtk serve como uma classe base para contêineres para manter vários botões horizontal ou verticalmente. Duas subclasses HButtonBox e VButtonBox são derivadas da classe ButtonBox, que é uma subclasse da classe gtk.Box.
Uma caixa de botão é usada para fornecer um layout consistente de botões em todo o aplicativo. Ele fornece um layout padrão e um valor de espaçamento padrão que são persistentes em todos os widgets.
o set_spacing() O método da classe gtk.Box pode ser usado para alterar o espaçamento padrão entre os botões na caixa de botões.
O layout padrão dos botões pode ser alterado pelo set_default()método. Os valores possíveis do layout do botão são -
gtk.BUTTONBOX_SPREAD
gtk.BUTTONBOX_EDGE
gtk.BUTTONBOX_START
gtk.BUTTONBOX_END.
Exemplo
No exemplo a seguir, um objeto VBox dentro da janela de nível superior contém internamente um objeto VButtonBox e um objeto HButtonBox, cada um contendo dois botões, dispostos vertical e horizontalmente respectivamente.
Observe o código -
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()
O código acima gera a seguinte saída -