Pygtk 简明教程

PyGTK - Arrow Class

gtk.Arrow 对象用于绘制指向四个主要方向的简单箭头。此类是从 gtk.Misc 类继承而来的,而对象将占据分配给它的任何空间,例如 Label 或 Button 小组件。

通常,Arrow 对象使用以下构造函数创建:

Arr = gtk.Arrow(arrow_type, shadow_type)

预定义的 arrow_type 常量为:

  1. gtk.ARROW_UP

  2. gtk.ARROW_DOWN

  3. gtk.ARROW_LEFT

  4. gtk.ARROW_RIGHT

预定义的 shadow_type 常量在以下表中列出:

gtk.SHADOW_NONE

No outline.

gtk.SHADOW_IN

轮廓向内倒角。

gtk.SHADOW_OUT

轮廓像按钮一样向外倒角。

gtk.SHADOW_ETCHED_IN

轮廓本身是向内倒角,但框架向外倒角。

gtk.SHADOW_ETCHED_OUT

轮廓是向外倒角,框架向内倒角。

Example

在以下示例中,四个按钮小组件添加到 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()

上述代码将生成以下输出 −

arrow demo