Объект gtk.Arrow используется для рисования простой стрелки, указывающей на четыре основных направления. Этот класс унаследован от класса gtk.Misc, и объект будет занимать любое выделенное ему пространство, например, виджет Label или Button.
Как правило, объект Arrow создается с помощью следующего конструктора —
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 | Нет плана. |
gtk.SHADOW_IN | Контур скошен внутрь. |
gtk.SHADOW_OUT | Контур скошен наружу, как кнопка. |
gtk.SHADOW_ETCHED_IN | Сам контур является внутренним скосом, но рамка скошена наружу. |
gtk.SHADOW_ETCHED_OUT | Контур — наружный скос, рамка — внутри. |
пример
В следующем примере четыре виджета Button добавляются в Hbox. Вверху каждой кнопки размещается объект gtk.Arrow, указывающий соответственно ВВЕРХ, ВНИЗ, ВЛЕВО и ВПРАВО. Контейнер 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()
Приведенный выше код сгенерирует следующий вывод: