PyGTK 盒子类

PyGTK 盒子类

gtk.Box类是一个抽象的类,定义了一个容器的功能,其中的小部件被放置在一个矩形区域内。gtk.HBox和gtk.VBox小部件都是从它派生的。

gtk.Hbox中的子部件被水平地排列在同一行中。另一方面, gtk.VBox的子物件是垂直地排列在同一列中.

gtk.Box类使用以下构造函数-

gtk.Box(homogenous = True, spacing = 0)

默认情况下,同质属性被设置为True。因此, 所有的子物件都被给予平等的分配.

gtk.Box使用打包机制来放置子部件在其中,参考一个特定的位置,或者参考开始或结束。 pack_start()方法把部件从开始放到结束。相反,pack_end()方法将widget从末端放到开始。另外,你可以使用add()方法,它与pack_start()相似。

以下方法可用于gtk.HBox以及gtk.VBox −

  • gtk_box_pack_start ()

  • gtk_box_pack_end ()

gtk_box_pack_start ()

该方法将添加到盒子中,并以盒子的起始部分为参考进行打包 −

pack_start(child, expand = True, fill = True, padding = 0)

以下是参数 –

  • child – 这是要被添加到盒子里的部件对象。

  • expand – 如果要在盒子里给孩子额外的空间,这将被设置为True。额外的空间将在所有的子 部件 之间划分

  • fill – 如果是True,额外的空间将被分配给child。否则,这个参数被用作填充。

  • padding – 这是盒子里的小部件之间的空间,单位是像素。

gtk_box_pack_end ()

这将child添加到盒子中,以盒子的末端为参考打包。

pack_end (child, expand = True, fill = True, padding = 0)

以下是参数 –

  • child – 这是要添加的widget对象

  • expand – 如果要在盒子里给孩子额外的空间,这将被设置为True。这个额外的空间将在所有的子部件之间进行分配。

  • fill – 如果是True,额外的空间将被分配给子部件,否则作为padding使用。

  • padding – 这是盒子里的小部件之间的空间,单位是像素。

set_spacing (spacing) 是一个函数,用来设置盒子的子部件之间的像素数。

add (widget) 这个方法是从gtk.Container类继承来的。它将widget添加到容器中。这个方法可以用来代替pack_start()方法。

例子

在下面的例子中, 顶层窗口包含一个垂直盒子(gtk.VBox对象盒子).它又有一个VBX对象vb和HBox对象hb。在上面的盒子里,一个标签、一个入口小部件和一个按钮被垂直放置。在下面的盒子里,另一组标签、条目和按钮被垂直放置。

观察下面的代码–

import gtk
class PyApp(gtk.Window):
   def __init__(self):
      super(PyApp, self).__init__()
         self.set_title("Box demo")

      box = gtk.VBox()
      vb = gtk.VBox()
      lbl = gtk.Label("Enter name")

      vb.pack_start(lbl, expand = True, fill = True, padding = 10)
      text = gtk.Entry()

      vb.pack_start(text, expand = True, fill = True, padding = 10)
      btn = gtk.Button(stock = gtk.STOCK_OK)

      vb.pack_start(btn, expand = True, fill = True, padding = 10)
      hb = gtk.HBox()

      lbl1 = gtk.Label("Enter marks")
      hb.pack_start(lbl1, expand = True, fill = True, padding = 5)
      text1 = gtk.Entry()

      hb.pack_start(text1, expand = True, fill = True, padding = 5)
      btn1 = gtk.Button(stock = gtk.STOCK_SAVE)

      hb.pack_start(btn1, expand = True, fill = True, padding = 5)
      box.add(vb)
      box.add(hb)
      self.add(box)
      self.show_all()
PyApp()
gtk.main()

上述代码将产生以下输出 —

PyGTK - 盒子类

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程