- 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 - 对齐类
事实证明,该小部件在控制其子小部件的对齐和大小方面非常有用。它有四个属性,称为xalign、yalign、xscale 和yscale。缩放属性指定子窗口小部件将使用多少可用空间。对齐属性用于将子部件放置在可用区域内。
所有四个属性均采用 0 到 1.0 之间的浮点值。如果 xscale 和 yscale 属性设置为 0,则意味着 widget 不吸收任何可用空间,如果设置为 1,则 widget 分别吸收水平或垂直的最大可用空间。
xalign 和 yalign 属性如果设置为 0,则意味着窗口小部件的左侧或上方将没有可用空间。如果设置为 1,小部件左侧或上方将有最大可用空间。
gtk.alignment 类具有以下构造函数 -
gtk.alignment(xalign = 0.0, yalign = 0.0, xscale = 0.0, yscale = 0.0)
在哪里,
xalign - 是子窗口部件左侧的水平可用空间的分数。
yalign - 是子部件上方垂直可用空间的分数。
xscale - 是子部件吸收的水平自由空间的分数。
yscale - 是子部件吸收的垂直自由空间的分数。
例子
以下代码演示了 gtk.alignment 小部件的使用。顶层窗口中的垂直盒 (Vbox) 中放置有上垂直盒 (Vbox) 和下水平盒 (Hbox)。在上方的垂直框中,放置了一个标签和一个 Entry 小部件,使得左侧有 50% 的空间保持空闲,其中超过 25% 的空间被分配 0.5 xalign 和 0.25 给 yalign 属性占用。
在下部 HBox 中,所有可用空间都位于左侧。这是通过将 1 分配给 xalign 属性来实现的。因此,水平框中的两个按钮显示为右对齐。
import gtk class PyApp(gtk.Window): def __init__(self): super(PyApp, self).__init__() self.set_title("Alignment demo") self.set_size_request(400,200) self.set_position(gtk.WIN_POS_CENTER) vbox = gtk.VBox(False, 5) vb = gtk.VBox() hbox = gtk.HBox(True, 3) valign = gtk.Alignment(0.5,0.25, 0, 0) lbl = gtk.Label("Name of student") vb.pack_start(lbl, True, True, 10) text = gtk.Entry() vb.pack_start(text, True, True, 10) valign.add(vb) vbox.pack_start(valign) ok = gtk.Button("OK") ok.set_size_request(70, 30) close = gtk.Button("Close") hbox.add(ok) hbox.add(close) halign = gtk.Alignment(1, 0, 0, 0) halign.add(hbox) vbox.pack_start(halign, False, False, 3) self.add(vbox) self.connect("destroy", gtk.main_quit) self.show_all() PyApp() gtk.main()
上面的代码产生以下输出 -