PyGTK - ButtonBox 按钮框类
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.
示例
在下面的示例中,顶层窗口中的一个 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()
以上代码生成以下输出 −