PyGTK ButtonBox 类
ButtonBox 类在 gtk API 中作为容器的基类,用于水平或垂直地放置多个按钮。此类有两个子类 HButtonBox 和 VButtonBox,它们都是 gtk.Box 类的子类.
按钮盒用于在应用程序中提供一致的按钮布局。它提供一个默认布局和默认间距值,这些值对所有小部件都是持久的。
Gtk.Box 类的 set_spacing() 方法可用于更改按钮盒中按钮之间的默认间距。
可以使用 set_default() 方法更改按钮的默认布局。按钮布局的可能值为:
- gtk.BUTTONBOX_SPREAD
-
gtk.BUTTONBOX_EDGE
-
gtk.BUTTONBOX_START
-
gtk.BUTTONBOX_END
示例
在以下示例中,toplevel 窗口内部包含一个 VButtonBox 对象和一个 HButtonBox 对象的 VBox 对象,分别按垂直和水平方向排列两个按钮。
请观察以下代码:
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()
上述代码将生成以下输出−