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)

Where,

  • 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()

以上代码产生以下输出 −

Alignment 演示