PyGTK-ButtonBox 클래스

gtk API의 ButtonBox 클래스는 컨테이너가 가로 또는 세로로 여러 버튼을 보유하는 기본 클래스로 사용됩니다. 두 개의 하위 클래스 HButtonBox 및 VButtonBox는 자체적으로 gtk.Box 클래스의 하위 클래스 인 ButtonBox 클래스에서 파생됩니다.

단추 상자는 응용 프로그램 전체에서 일관된 단추 레이아웃을 제공하는 데 사용됩니다. 모든 위젯에서 지속되는 하나의 기본 레이아웃과 기본 간격 값을 제공합니다.

그만큼 set_spacing() gtk.Box 클래스의 메소드를 사용하여 버튼 상자에있는 버튼 사이의 기본 간격을 변경할 수 있습니다.

버튼의 기본 레이아웃은 set_default()방법. 버튼 레이아웃의 가능한 값은 다음과 같습니다.

  • gtk.BUTTONBOX_SPREAD

  • gtk.BUTTONBOX_EDGE

  • gtk.BUTTONBOX_START

  • gtk.BUTTONBOX_END.

다음 예제에서 최상위 창 내부의 VBox 개체에는 내부적으로 VButtonBox 개체 1 개와 HButtonBox 개체 1 개가 포함되어 있으며 각각 세로 및 가로로 정렬 된 두 개의 버튼이 포함되어 있습니다.

코드 관찰-

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

위의 코드는 다음 출력을 생성합니다.