- PyGTK 教程
- PyGTK - 首页
- PyGTK - 简介
- PyGTK - 环境
- PyGTK - Hello World
- PyGTK - 重要类
- PyGTK - Window 类
- PyGTK - Button 类
- PyGTK - Label 类
- PyGTK - Entry 类
- PyGTK - 信号处理
- PyGTK - 事件处理
- PyGTK - 容器
- PyGTK - Box 类
- PyGTK - ButtonBox 类
- PyGTK - Alignment 类
- PyGTK - EventBox 类
- PyGTK - Layout 类
- PyGTK - ComboBox 类
- PyGTK - ToggleButton 类
- PyGTK - CheckButton 类
- PyGTK - RadioButton 类
- PyGTK - MenuBar、Menu 和 MenuItem
- PyGTK - Toolbar 类
- PyGTK - Adjustment 类
- PyGTK - Range 类
- PyGTK - Scale 类
- PyGTK - Scrollbar 类
- PyGTK - Dialog 类
- PyGTK - MessageDialog 类
- PyGTK - AboutDialog 类
- PyGTK - 字体选择对话框
- PyGTK - 颜色选择对话框
- PyGTK - 文件选择对话框
- PyGTK - Notebook 类
- PyGTK - Frame 类
- PyGTK - AspectFrame 类
- PyGTK - TreeView 类
- PyGTK - Paned 类
- PyGTK - Statusbar 类
- PyGTK - ProgressBar 类
- PyGTK - Viewport 类
- PyGTK - Scrolledwindow 类
- PyGTK - Arrow 类
- PyGTK - Image 类
- PyGTK - DrawingArea 类
- PyGTK - SpinButton 类
- PyGTK - Calendar 类
- PyGTK - Clipboard 类
- PyGTK - Ruler 类
- PyGTK - 超时
- PyGTK - 拖放
- PyGTK 有用资源
- PyGTK - 快速指南
- PyGTK - 有用资源
- PyGTK - 讨论
PyGTK - ButtonBox 类
gtk API 中的 ButtonBox 类充当容器的基类,用于水平或垂直放置多个按钮。两个子类 HButtonBox 和 VButtonBox 派生自 ButtonBox 类,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()
以上代码生成以下输出:
广告