PyGTK-AspectFrame 클래스

gtk.AspectFrame 클래스는 Frame 클래스의 하위 클래스입니다. 이 프레임의 하위 위젯은 기본 창의 크기가 조정 되더라도 항상 가로 세로 비율 (너비 및 높이)을 유지합니다.

gtk.AspectFrame 위젯의 ratio 속성은 위젯 너비 : 높이 비율을 결정합니다. 종횡비 0.5는 너비가 높이의 절반임을 의미합니다. 가로 세로 비율 2.0은 너비가 높이의 두 배임을 의미합니다. "비율"속성의 기본값은 1.0입니다.

다음 구문은 gtk.AspectFrame 클래스의 생성자에 사용됩니다.

gtk.AspectFrame (label = None, xalign = 0.5, yalign = 0.5, ratio = 1.0, obey_child = True)

그만큼 xalign속성 은 자식의 왼쪽에있는 수평 여유 공간 의 비율을 결정합니다 . 0.0은 왼쪽에 여유 공간이 없음을 의미하고 1.0은 왼쪽에 모든 여유 공간을 의미합니다 .

그만큼 yalign속성 은 자식 위 의 수직 여유 공간 비율을 결정합니다 . 0.0은 위의 여유 공간이 없음을 의미하고 1.0은 위의 모든 여유 공간을 의미합니다 .

프레임 높이에 대한 너비 비율은 다음과 같은 경우 유지됩니다. obey_child 속성은 False입니다.

obey_child 속성은 비율을 무시할지 여부를 결정합니다. 기본값은 True입니다.

다음 코드는 Frame 클래스에 사용되는 코드와 유사합니다. 유일한 차이점은 ButonBox가 AspectFrame 위젯에 있다는 것입니다.

frm = gtk.AspectFrame(label = None, xalign = 0.5, yalign = 0.5, 
   ratio = 5.0, obey_child = False)

Note − obey_child 속성은 창 크기를 조정하더라도 화면 비율을 유지하기를 원하기 때문에 False로 설정됩니다.

다음 코드를 관찰하십시오-

import gtk

class PyApp(gtk.Window):
   def __init__(self):
      super(PyApp, self).__init__()
      self.set_title("Aspect Frame Demo")
      self.set_default_size(250, 200)
      self.set_border_width(5)
      frm = gtk.AspectFrame(label = None, xalign = 0.5, yalign = 0.5, 
         ratio = 5.0, obey_child = False)
      hb = gtk.HButtonBox()
      btn1 = gtk.RadioButton(None,"Degree")
      hb.add(btn1)
      btn2 = gtk.RadioButton(btn1,"P.G.")
      hb.add(btn2)
      btn3 = gtk.RadioButton(btn1,"Doctorate")
      hb.add(btn3)
      frm.add(hb)
      frm.set_label("Qualifications")
      self.add(frm)
      self.connect("destroy", gtk.main_quit)
      self.show_all()
      
if __name__ == '__main__':
   PyApp()
   gtk.main()

위의 코드는 다음과 같은 원본 및 크기 조정 된 창을 생성합니다.

Original Window

Resized Window