ButtonBox 类(ButtonBox Class)
优质
小牛编辑
132浏览
2023-12-01
gtk API中的ButtonBox类充当容器的基类,可以水平或垂直地保存多个按钮。 两个子类HButtonBox和VButtonBox派生自ButtonBox类,它本身是gtk.Box类的子类。
按钮框用于在整个应用程序中提供一致的按钮布局。 它提供了一个默认布局和一个默认间距值,它们在所有小部件中都是持久的。
gtk.Box类的set_spacing()方法可用于更改按钮框中按钮之间的默认间距。
可以通过set_default()方法更改按钮的默认布局。 按钮布局的可能值是 -
gtk.BUTTONBOX_SPREAD
gtk.BUTTONBOX_EDGE
gtk.BUTTONBOX_START
gtk.BUTTONBOX_END.
例子 (Example)
在下面的示例中,顶层窗口内的VBox对象内部包含一个VButtonBox对象和一个HButtonBox对象,每个对象包含两个按钮,分别垂直和水平排列。
观察代码 -
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()
上面的代码生成以下输出 -