- 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()
以上程式碼生成以下輸出:
廣告