Учебники

PyGTK — класс ButtonBox

Класс ButtonBox в gtk API служит базовым классом для контейнеров, в которых можно удерживать несколько кнопок по горизонтали или по вертикали. Два подкласса HButtonBox и VButtonBox являются производными от класса ButtonBox, который сам является подклассом класса gtk.Box.

Блок кнопок используется для обеспечения согласованного расположения кнопок в приложении. Он предоставляет один макет по умолчанию и значение интервала по умолчанию, которые являются постоянными во всех виджетах.

Метод set_spacing () класса gtk.Box можно использовать для изменения расстояния по умолчанию между кнопками в блоке кнопок.

Расположение кнопок по умолчанию можно изменить с помощью метода set_default () . Возможные значения макета кнопки —

  • gtk.BUTTONBOX_SPREAD

  • gtk.BUTTONBOX_EDGE

  • gtk.BUTTONBOX_START

  • gtk.BUTTONBOX_END.

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

Приведенный выше код генерирует следующий вывод —