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