PyGTK-アライメントクラス

このウィジェットは、子ウィジェットの配置とサイズを制御するのに役立ちます。xalign、yalign、xscale、yscaleという4つのプロパティがあります。スケールプロパティは、子ウィジェットによって使用される空き領域の量を指定します。整列プロパティは、子ウィジェットを使用可能な領域内に配置するために使用されます。

4つのプロパティはすべて、0〜1.0の浮動小数点値を取ります。xscaleプロパティとyscaleプロパティが0に設定されている場合、ウィジェットは空き領域をまったく吸収しないことを意味し、1に設定されている場合、ウィジェットはそれぞれ水平方向または垂直方向に最大空き領域を吸収します。

xalignおよびyalignプロパティが0に設定されている場合、ウィジェットの左側または上部に空き領域がないことを意味します。1に設定すると、ウィジェットの左側または上部に最大の空き領域ができます。

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

gtk.alignment(xalign = 0.0, yalign = 0.0, xscale = 0.0, yscale = 0.0)

どこ、

  • xalign −子ウィジェットの左側にある水平方向の空き領域の割合です。

  • yalign −子ウィジェットの上の垂直方向の空き領域の割合です。

  • xscale − isは、子ウィジェットが吸収する水平方向の空き領域の割合です。

  • yscale − isは、子ウィジェットが吸収する垂直方向の空き領域の割合です。

次のコードは、gtk.alignmentウィジェットの使用法を示しています。トップレベルウィンドウのVboxには、上部のVboxと下部のHboxが配置されています。上部の垂直ボックスには、ラベルとエントリウィジェットが配置され、左側に向かってスペースの50%が空いたままになり、その25%以上が0.5xalignプロパティと0.25yalignプロパティに割り当てられます。

下のHBoxでは、使用可能なすべての空き領域が左側にあります。これは、xalignプロパティに1を割り当てることで実現されます。したがって、水平ボックスの2つのボタンは右揃えで表示されます。

import gtk

class PyApp(gtk.Window):
   
   def __init__(self):
      super(PyApp, self).__init__()
      self.set_title("Alignment demo")
      self.set_size_request(400,200)
      self.set_position(gtk.WIN_POS_CENTER)
		
      vbox = gtk.VBox(False, 5)
      vb = gtk.VBox()
      hbox = gtk.HBox(True, 3)
      valign = gtk.Alignment(0.5,0.25, 0, 0)
		
      lbl = gtk.Label("Name of student")
      vb.pack_start(lbl, True, True, 10)
      text = gtk.Entry()
		
      vb.pack_start(text, True, True, 10)
      valign.add(vb)
      vbox.pack_start(valign)
		
      ok = gtk.Button("OK")
      ok.set_size_request(70, 30)
		
      close = gtk.Button("Close")
      hbox.add(ok)
      hbox.add(close)
		
      halign = gtk.Alignment(1, 0, 0, 0)
      halign.add(hbox)
		
      vbox.pack_start(halign, False, False, 3)
		
      self.add(vbox)
      self.connect("destroy", gtk.main_quit)
      self.show_all()
PyApp()
gtk.main()

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