📜  PyGTK-容器

📅  最后修改于: 2020-11-08 07:48:15             🧑  作者: Mango


PyGTK库提供了不同的容器类来控制窗口小部件的放置。最简单的方法是使用固定的容器类,然后通过指定其绝对坐标(以像素为单位)将小部件放置在其中。

现在让我们遵循以下步骤-

步骤1-声明固定类的对象

fixed = gtk.Fixed()

步骤2-创建一个按钮小部件,并使用需要x和y坐标的put()方法将其添加到固定容器中。在此,按钮将被放置在(100,100)位置。

btn = gtk.Button("Hello")
fixed.put(btn, 100,100)

步骤3-您可以在固定容器中放置多个控件。并且,将其添加到顶级窗口并调用show_all()方法

self.add(fixed)
self.show_all()

但是,由于以下原因,此绝对布局不适合-

  • 即使调整窗口大小,小部件的位置也不会改变。
  • 在具有不同分辨率的不同显示设备上,外观可能不一致。
  • 布局修改很困难,因为可能需要重新设计整个表格。

以下是原始窗口

你好,世界

以下是调整大小的窗口

PyGTK你好世界

在此按钮的位置保持不变。

PyGTK API提供了容器类,以增强对容器内小部件的位置的管理。布局管理器相对于绝对定位的优势是-

  • 窗口内的小部件会自动调整大小。
  • 确保具有不同分辨率的显示设备上的外观均匀。
  • 无需重新设计,就可以动态添加或删除小部件。

gtk.Container充当以下类的基类-

  • gtk.ButtonBox
  • gtk.Box
  • gtk.Alignment
  • gtk.EventBox
  • gtk表