Pygtk-containers

提供:Dev Guides
移動先:案内検索

PyGTK-コンテナー

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()

ただし、この絶対レイアウトは次の理由により適切ではありません-

  • ウィンドウのサイズを変更しても、ウィジェットの位置は変わりません。
  • 解像度が異なるディスプレイデバイスでは、外観が均一でない場合があります。
  • フォーム全体の再設計が必要になる可能性があるため、レイアウトの変更は困難です。

以下は*元のウィンドウ*です-

Hello World

以下は*サイズ変更されたウィンドウ*です-

PyGTK Hello World

ボタンの位置はここでは変わりません。

PyGTK APIは、コンテナ内のウィジェットの配置の管理を強化するためのコンテナクラスを提供します。 絶対配置に対するレイアウトマネージャーの利点は次のとおりです-

  • ウィンドウ内のウィジェットは自動的にサイズ変更されます。
  • 異なる解像度のディスプレイデバイスで均一な外観を保証します。
  • 再設計することなく、ウィジェットを動的に追加または削除できます。

gtk.Containerは、次のクラスの基本クラスとして機能します-

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