PyGTK Alignment类
这个小部件对控制其子小部件的对齐方式和大小非常有用。它有四个属性:xalign、yalign、xscale和yscale。比例属性指定子小部件将使用多少自由空间。对齐属性用于将子小部件放置在可用区域内。
所有四个属性的取值范围为0到1.0之间的浮点数。如果xscale和yscale属性设置为0,则意味着小部件不占用任何自由空间;如果设置为1,则小部件水平或垂直吸收最大自由空间。
如果将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部件的使用。顶层窗口中包含一个上部垂直布局和一个下部水平布局。在上部垂直布局中,标签和输入框部件被放置在左侧,保留了50%的空间,其中25%由将xalign属性设为0.5和yalign属性设为0.25来占用。
在下部水平布局中,所有可用的自由空间都在左侧。通过将xalign属性设为1,实现了这一效果。因此,水平布局中的两个按钮呈现为右对齐。
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()
以上代码产生以下输出 −