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.