- PyGTK 教程
- PyGTK - 首页
- PyGTK - 简介
- PyGTK - 环境
- PyGTK - Hello World
- PyGTK - 重要类
- PyGTK - Window 类
- PyGTK - Button 类
- PyGTK - Label 类
- PyGTK - Entry 类
- PyGTK - 信号处理
- PyGTK - 事件处理
- PyGTK - 容器
- PyGTK - Box 类
- PyGTK - ButtonBox 类
- PyGTK - Alignment 类
- PyGTK - EventBox 类
- PyGTK - Layout 类
- PyGTK - ComboBox 类
- PyGTK - ToggleButton 类
- PyGTK - CheckButton 类
- PyGTK - RadioButton 类
- PyGTK - MenuBar、Menu 和 MenuItem
- PyGTK - Toolbar 类
- PyGTK - Adjustment 类
- PyGTK - Range 类
- PyGTK - Scale 类
- PyGTK - Scrollbar 类
- PyGTK - Dialog 类
- PyGTK - MessageDialog 类
- PyGTK - AboutDialog 类
- PyGTK - 字体选择对话框
- PyGTK - 颜色选择对话框
- PyGTK - 文件选择对话框
- PyGTK - Notebook 类
- PyGTK - Frame 类
- PyGTK - AspectFrame 类
- PyGTK - TreeView 类
- PyGTK - Paned 类
- PyGTK - Statusbar 类
- PyGTK - ProgressBar 类
- PyGTK - Viewport 类
- PyGTK - Scrolledwindow 类
- PyGTK - Arrow 类
- PyGTK - Image 类
- PyGTK - DrawingArea 类
- PyGTK - SpinButton 类
- PyGTK - Calendar 类
- PyGTK - Clipboard 类
- PyGTK - Ruler 类
- 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,则保持框架的宽度与高度的比例。
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()
以上代码将生成以下原始和调整大小的窗口:
原始窗口
调整大小后的窗口
广告