PyGTK-정렬 클래스

이 위젯은 자식 위젯의 정렬과 크기를 제어하는 ​​데 유용합니다. xalign, yalign, xscale 및 yscale이라는 네 가지 속성이 있습니다. scale 속성은 자식 위젯에서 사용할 여유 공간의 양을 지정합니다. 정렬 속성은 사용 가능한 영역 내에 자식 위젯을 배치하는 데 사용됩니다.

네 가지 속성은 모두 0과 1.0 사이의 부동 소수점 값을 사용합니다. xscale 및 yscale 속성을 0으로 설정하면 위젯이 여유 공간을 전혀 흡수하지 않음을 의미하고 1로 설정하면 위젯이 각각 가로 또는 세로로 최대 여유 공간을 흡수 함을 의미합니다.

xalign 및 yalign 속성이 0으로 설정된 경우 왼쪽 또는 위 위젯에 여유 공간이 없음을 의미합니다. 1로 설정하면 위젯 왼쪽 또는 위에 최대 여유 공간이 있습니다.

gtk.alignment 클래스에는 다음과 같은 생성자가 있습니다.

gtk.alignment(xalign = 0.0, yalign = 0.0, xscale = 0.0, yscale = 0.0)

어디,

  • xalign − 하위 위젯 왼쪽에있는 수평 여유 공간의 비율입니다.

  • yalign − 하위 위젯 위의 수직 여유 공간의 비율입니다.

  • xscale − Is는 자식 위젯이 흡수하는 수평 여유 공간의 비율입니다.

  • yscale − Is는 자식 위젯이 흡수하는 수직 여유 공간의 비율입니다.

다음 코드는 gtk.alignment 위젯의 사용을 보여줍니다. 최상위 창의 Vbox에는 상단 Vbox와 하단 Hbox가 있습니다. 상단 수직 상자에는 레이블과 Entry 위젯이 배치되어 왼쪽을 향하면 50 %의 공간이 무료로 유지되고 0.5 xalign 및 0.25를 yalign 속성에 할당하여이 중 25 % 이상을 차지합니다.

하단 HBox에서 사용 가능한 모든 여유 공간은 왼쪽에 있습니다. xalign 속성에 1을 할당하면됩니다. 따라서 가로 상자에있는 두 개의 버튼은 오른쪽 정렬로 표시됩니다.

import gtk

class PyApp(gtk.Window):
   
   def __init__(self):
      super(PyApp, self).__init__()
      self.set_title("Alignment demo")
      self.set_size_request(400,200)
      self.set_position(gtk.WIN_POS_CENTER)
		
      vbox = gtk.VBox(False, 5)
      vb = gtk.VBox()
      hbox = gtk.HBox(True, 3)
      valign = gtk.Alignment(0.5,0.25, 0, 0)
		
      lbl = gtk.Label("Name of student")
      vb.pack_start(lbl, True, True, 10)
      text = gtk.Entry()
		
      vb.pack_start(text, True, True, 10)
      valign.add(vb)
      vbox.pack_start(valign)
		
      ok = gtk.Button("OK")
      ok.set_size_request(70, 30)
		
      close = gtk.Button("Close")
      hbox.add(ok)
      hbox.add(close)
		
      halign = gtk.Alignment(1, 0, 0, 0)
      halign.add(hbox)
		
      vbox.pack_start(halign, False, False, 3)
		
      self.add(vbox)
      self.connect("destroy", gtk.main_quit)
      self.show_all()
PyApp()
gtk.main()

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