PyGTK - 容器



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

现在让我们按照以下步骤操作:

**步骤 1** - 声明**fixed 类**的对象

fixed = gtk.Fixed()

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

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

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

self.add(fixed)
self.show_all()

但是,这种绝对布局由于以下原因并不适用:

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

以下是**原始窗口**:

Hello World

以下是**调整大小后的窗口**:

PyGTK Hello World

此处按钮的位置不变。

PyGTK API 提供容器类,用于增强管理容器内部件的位置。布局管理器相对于绝对定位的优势在于:

  • 窗口内的部件会自动调整大小。
  • 确保在具有不同分辨率的显示设备上外观一致。
  • 可以在不进行重新设计的情况下动态添加或删除部件。

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

  • gtk.ButtonBox
  • gtk.Box
  • gtk.Alignment
  • gtk.EventBox
  • gtk.Table
广告

© . All rights reserved.