- PyGTK 教程
- PyGTK - 主页
- PyGTK - 简介
- PyGTK - 环境
- PyGTK - 你好世界
- PyGTK - 重要类
- PyGTK - 窗口类
- PyGTK - 按钮类
- PyGTK - 标签类
- PyGTK - 入门级
- PyGTK - 信号处理
- PyGTK - 事件处理
- PyGTK - 容器
- PyGTK - 盒子类
- PyGTK - ButtonBox 类
- PyGTK - 对齐类
- PyGTK - EventBox 类
- PyGTK - 布局类
- PyGTK - 组合框类
- PyGTK - ToggleButton 类
- PyGTK - CheckButton 类
- PyGTK - 单选按钮类
- PyGTK - 菜单栏、菜单和菜单项
- PyGTK - 工具栏类
- PyGTK - 调整类
- PyGTK - 范围类
- PyGTK - 规模类
- PyGTK - 滚动条类
- PyGTK - 对话框类
- PyGTK - 消息对话框类
- PyGTK - AboutDialog 类
- PyGTK - 字体选择对话框
- PyGTK - 颜色选择对话框
- PyGTK - 文件选择器对话框
- PyGTK - 笔记本类
- PyGTK - 框架类
- PyGTK - AspectFrame 类
- PyGTK - TreeView 类
- PyGTK - 窗格类
- PyGTK - 状态栏类
- PyGTK - ProgressBar 类
- PyGTK - 视口类
- PyGTK - 滚动窗口类
- PyGTK - 箭头类
- PyGTK - 图像类
- PyGTK - DrawingArea 类
- PyGTK - SpinButton 类
- PyGTK - 日历类
- PyGTK - 剪贴板类
- PyGTK - 标尺类
- PyGTK - 超时
- PyGTK - 拖放
- PyGTK 有用资源
- PyGTK - 快速指南
- PyGTK - 有用的资源
- PyGTK - 讨论
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,则保持框架的宽度与高度的比率。
obe_child 属性决定是否忽略该比率。默认值为 True。
以下代码与用于 Frame 类的代码类似。唯一的区别是 ButtonBox 放置在 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()
上面的代码将产生以下原始和调整大小的窗口 -
原来的窗户
调整窗口大小