Pygtk-buttonbox-class

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

PyGTK-ButtonBoxクラス

gtk APIのButtonBoxクラスは、コンテナの基本クラスとして機能し、複数のボタンを水平または垂直に保持します。 HButtonBoxとVButtonBoxの2つのサブクラスは、ButtonBoxクラスから派生しています。ButtonBoxクラス自体は、gtk.Boxクラスのサブクラスです。

ボタンボックスは、アプリケーション全体で一貫したボタンのレイアウトを提供するために使用されます。 すべてのウィジェットにわたって持続する1つのデフォルトレイアウトとデフォルトの間隔値を提供します。

gtk.Boxクラスの* set_spacing()*メソッドを使用して、ボタンボックス内のボタン間のデフォルトの間隔を変更できます。

ボタンのデフォルトのレイアウトは、* set_default()*メソッドによって変更できます。 ボタンレイアウトの可能な値は次のとおりです-

  • gtk.BUTTONBOX_SPREAD
  • gtk.BUTTONBOX_EDGE
  • gtk.BUTTONBOX_START
  • gtk.BUTTONBOX_END。

次の例では、トップレベルウィンドウ内のVBoxオブジェクトには内部に1つのVButtonBoxオブジェクトと1つのHButtonBoxオブジェクトが含まれ、それぞれに2つのボタンが含まれ、それぞれ垂直と水平に配置されています。

コードを観察します-

import gtk

class PyApp(gtk.Window):
   def __init__(self):
      super(PyApp, self).__init__()

      self.set_title("Button Box demo")
      self.set_size_request(200,100)
      self.set_position(gtk.WIN_POS_CENTER)
      vb = gtk.VBox()
      box1 = gtk.VButtonBox()
      btn1 = gtk.Button(stock = gtk.STOCK_OK)
      btn2 = gtk.Button(stock = gtk.STOCK_CANCEL)

      box1.pack_start(btn1, True, True, 0)
      box1.pack_start(btn2, True, True, 0)
      box1.set_border_width(5)

      vb.add(box1)
      box2 = gtk.HButtonBox()
      btn3 = gtk.Button(stock = gtk.STOCK_OK)
      btn4 = gtk.Button(stock = gtk.STOCK_CANCEL)

      ent = gtk.Entry()
      box2.pack_start(btn3, True, True, 0)
      box2.pack_start(btn4, True, True, 0)
      box1.set_border_width(5)

      vb.add(box2)
      self.add(vb)
      self.show_all()

PyApp()
gtk.main()

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

ButtonBox Demo