PyGTK 箭头类
gtk.Arrow对象是用来绘制指向四个基本方向的简单箭头。该类继承自 gtk.Misc 类,该对象将占据分配给它的任何空间,例如,标签或按钮部件。
通常情况下,箭头对象是通过以下构造函数创建的
Arr = gtk.Arrow(arrow_type, shadow_type)
预定义的箭头类型常量有–
- gtk.ARROW_UP
- gtk.ARROW_DOWN
- gtk.ARROW_LEFT
- gtk.ARROW_RIGHT
预定义的shadow_type常量被列在下面的表格中 –
gtk.SHADOW_NONE | 没有轮廓。 |
---|---|
gtk.SHADOW_IN | 轮廓是向内倒角的。 |
gtk.SHADOW_OUT | 轮廓是向外倾斜的,像一个按钮。 |
gtk.SHADOW_ETCHED_IN | 轮廓本身是一个向内的斜面,但框架是向外的斜面。 |
gtk.SHADOW_ETCHED_OUT | 轮廓是一个向外的斜面,框架是向内的斜面。 |
例子
在下面的例子中,四个Button部件被添加到一个Hbox中。在每个按钮的顶部,放置一个gtk.Arrow对象,分别指向向上、向下、向左和向右。在Alignment容器的帮助下,HBOX容器被放置在顶层窗口的底部。
观察一下代码 –
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()
上述代码将产生以下输出 –