PyGTK AspectFrame类
gtk.AspectFrame类是Frame类的子类。无论主窗口如何调整大小,此框架中的子小部件始终保持其宽高比。
gtk.AspectFrame小部件的ratio属性确定了小部件的宽高比。 0.5的宽高比意味着宽度是高度的一半;2.0的宽高比意味着宽度是高度的两倍。 “ratio”属性的默认值是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)
注意 - 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()
上面的代码将生成以下原始窗口和缩小窗口-
原始窗口
调整大小的窗口
版权声明:本页面内容旨在传播知识,为用户自行发布,若有侵权等问题请及时与本网联系,我们将第一时间处理。E-mail:284563525@qq.com