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()

以上程式碼生成以下輸出:

ButtonBox Demo
廣告

© . All rights reserved.