Pygtk-arrow-class

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

PyGTK-Arrowクラス

gtk.Arrowオブジェクトは、4つの基本的な方向を指す単純な矢印を描くために使用されます。 このクラスは gtk.Misc クラスから継承され、オブジェクトはラベルやボタンウィジェットなど、割り当てられたスペースを占有します。

通常、矢印オブジェクトは次のコンストラクタを使用して作成されます-

Arr = gtk.Arrow(arrow_type, shadow_type)

定義済みのarrow_type定数は-

  • gtk.ARROW_UP
  • gtk.ARROW_DOWN
  • gtk.ARROW_LEFT
  • gtk.ARROW_RIGHT

定義済みのshadow_type定数は、次の表に記載されています-

gtk.SHADOW_NONE No outline.
gtk.SHADOW_IN The outline is beveled inward.
gtk.SHADOW_OUT The outline is beveled outward like a button.
gtk.SHADOW_ETCHED_IN The outline itself is an inward bevel, but the frame bevels outward.
gtk.SHADOW_ETCHED_OUT The outline is an outward bevel, frame bevels inward.

次の例では、4つのButtonウィジェットがHboxに追加されます。 各ボタンの上部には、それぞれ上、下、左、右を指すgtk.Arrowオブジェクトが配置されます。 HBOXコンテナは、Alignmentコンテナの助けを借りて、トップレベルウィンドウの下部に配置されます。

コードを観察します-

import gtk

class PyApp(gtk.Window):

   def __init__(self):
      super(PyApp, self).__init__()
      self.set_title("Arrow Demo")
      self.set_size_request(300, 200)
      self.set_position(gtk.WIN_POS_CENTER)

      vbox = gtk.VBox(False, 5)
      hbox = gtk.HBox(True, 3)
      valign = gtk.Alignment(0, 1, 0, 0)
      vbox.pack_start(valign)

      arr1 = gtk.Arrow(gtk.ARROW_UP, gtk.SHADOW_NONE)
      arr2 = gtk.Arrow(gtk.ARROW_DOWN, gtk.SHADOW_NONE)
      arr3 = gtk.Arrow(gtk.ARROW_LEFT, gtk.SHADOW_NONE)
      arr4 = gtk.Arrow(gtk.ARROW_RIGHT, gtk.SHADOW_NONE)

      btn1 = gtk.Button()
      btn1.add(arr1)
      btn2 = gtk.Button()
      btn2.add(arr2)
      btn3 = gtk.Button()
      btn3.add(arr3)
      btn4 = gtk.Button()
      btn4.add(arr4)

      hbox.add(btn1)
      hbox.add(btn2)
      hbox.add(btn3)
      hbox.add(btn4)

      halign = gtk.Alignment(0.5, 0.5, 0, 0)
      halign.add(hbox)

      vbox.pack_start(halign, False, True, 10)
      self.add(vbox)
      self.connect("destroy", gtk.main_quit)
      self.show_all()

PyApp()
gtk.main()

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

矢印デモ