Pygtk-layout-class

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

PyGTK-レイアウトクラス

gtk.Layoutは、gtk.Fixedに似たコンテナウィジェットです。 ウィジェットは、絶対座標を指定してレイアウトウィジェットに配置されます。 ただし、レイアウトは次の点で固定ウィジェットとは異なります-

  • レイアウトウィジェットは、無限の幅と高さを持つことができます。 幅と高さの最大値は、符号なし整数のサイズによって制限されます。
  • gtk.DrawingAreaウィジェットは、レイアウトコンテナーで囲むことができます。 DrawingAreaは、線、長方形などの2D要素が配置されたキャンバスです。 描くことができます。
  • レイアウトコンテナをより小さな次元のトップレベルウィンドウに配置するには、スクロールコンテナに関連付けるか、ScrolledWindowに配置します。

gtk.Layoutクラスには、次のコンストラクタがあります-

gtk.Layout(hadjustment = None, vadjustment = None)
*hadjustment* および *vadjustment* プロパティは、調整可能な境界値を持つオブジェクトを表します。

次の表は、レイアウトで頻繁に使用される方法を示しています-

put(widget, x, y) Places a child widget at the specified coordinates
set_size(w, h) Sets the size of the Layout container to the specified width and height

Layoutオブジェクトは、それに関連付けられた調整が変更されると、set_scroll_adjustment信号を発信します。

次の例では、ラベルはレイアウトコンテナの中央に配置され、レイアウトコンテナは小さいサイズのトップレベルウィンドウに配置されます。 したがって、最初にScrolledWindowに追加され、次にScrolledWindowがメインウィンドウに追加されます。

コードを観察します-

import gtk

class PyApp(gtk.Window):

   def __init__(self):
      super(PyApp, self).__init__()
      self.set_title("layout")
      self.set_size_request(300,200)
      self.set_position(gtk.WIN_POS_CENTER)
      sc = gtk.ScrolledWindow()
      lo = gtk.Layout()
      lo.set_size(400,400)
      button = gtk.Button("Press Me")
      lo.put(button, 125,200)
      sc.add(lo)
      self.add(sc)
      self.connect("destroy", gtk.main_quit)
      self.show_all()

PyApp()
gtk.main()

上記のコードは、次の出力を生成します-

レイアウト