当前位置: 首页 > 文档资料 > PyGTK 中文教程 >

容器(Containers)

优质
小牛编辑
133浏览
2023-12-01

PyGTK库提供了不同的容器类来控制窗口中窗口小部件的放置。 最简单的方法是使用fixed container class并通过指定以像素为单位测量的绝对坐标将小部件放入其中。

现在让我们按照以下步骤 -

Step 1 - 声明fixed class的对象

fixed = gtk.Fixed()

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

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

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

self.add(fixed)
self.show_all()

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

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

以下是original window -

你好,世界

以下是resized window -

PyGTK Hello World

这里按钮的位置没有变化。

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

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

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

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