PyGTK - 容器

  • 简述

    PyGTK 库提供了不同的容器类来控制窗口内窗口小部件的放置。最简单的方法是使用固定容器类,并通过指定以像素为单位的绝对坐标将小部件放置在其中。
    现在让我们按照以下步骤操作 -
    步骤 1 - 声明一个固定类的对象
    
    fixed = gtk.Fixed()
    
    步骤 2 - 创建一个按钮小部件并使用需要 x 的 put() 方法将其添加到固定容器中和 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.Moognment
    • gtk.EventBox
    • gtk.Table