PyGTK - Classe ButtonBox
La classe ButtonBox nell'API gtk funge da classe di base per i contenitori per contenere più pulsanti orizzontalmente o verticalmente. Due sottoclassi HButtonBox e VButtonBox derivano dalla classe ButtonBox, che a sua volta è una sottoclasse della classe gtk.Box.
Una casella dei pulsanti viene utilizzata per fornire un layout coerente dei pulsanti in tutta l'applicazione. Fornisce un layout predefinito e un valore di spaziatura predefinito che sono persistenti in tutti i widget.
Il set_spacing() metodo della classe gtk.Box può essere utilizzato per modificare la spaziatura predefinita tra i pulsanti nella casella dei pulsanti.
Il layout predefinito dei pulsanti può essere modificato dal set_default()metodo. I possibili valori del layout dei pulsanti sono:
gtk.BUTTONBOX_SPREAD
gtk.BUTTONBOX_EDGE
gtk.BUTTONBOX_START
gtk.BUTTONBOX_END.
Esempio
Nell'esempio seguente, un oggetto VBox all'interno della finestra di primo livello contiene internamente un oggetto VButtonBox e un oggetto HButtonBox, ciascuno contenente due pulsanti, disposti rispettivamente verticalmente e orizzontalmente.
Rispetta il codice -
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()
Il codice sopra genera il seguente output: