Стрелка (gtk.Arrow)

Виджет Arrow рисует наконечник стрелки, направленный в одно из возможных направлений, в одном из возможных стилей. Его удобно помещать на кнопки во многих приложениях. Как и виджеты Label они не излучают сигналов.

Есть только 2 вызова для использования виджета Arrow:

  arrow = gtk.Arrow(arrow_type, shadow_type)

  arrow.set(arrow_type, shadow_type)

Первый создаёт новую стрелку определённого типа и стиля. Второй позволяет поменять эти значения для уже созданного виджета. Аргумент arrow_type может содержать одно из следующих значений:

  ARROW_UP
  ARROW_DOWN
  ARROW_LEFT
  ARROW_RIGHT

Эти значения очевидно указывают направление стрелки. Аргумент shadow_type может содержать одно из следующих значений:

  SHADOW_IN
  SHADOW_OUT   # по умолчанию
  SHADOW_ETCHED_IN
  SHADOW_ETCHED_OUT

Пример arrow.py кратко показывает их использование. Рисунок 9.2, “Пример кнопок-стрелок” показывает результат запуска программы:

Рисунок 9.2. Пример кнопок-стрелок

Arrows Buttons Examples

Исходный код arrow.py:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# example arrow.py

import pygtk
pygtk.require('2.0')
import gtk

# Создаём стрелку с указанными параметрами
# и размещаем её в кнопке
def create_arrow_button(arrow_type, shadow_type):
    button = gtk.Button();
    arrow = gtk.Arrow(arrow_type, shadow_type);
    button.add(arrow)
    button.show()
    arrow.show()
    return button

class Arrows:
    def __init__(self):
        # Создаём новое окно
        window = gtk.Window(gtk.WINDOW_TOPLEVEL)

        window.set_title("Стрелки")

        # Хорошая мысль использовать это со всеми окнами.
        window.connect("destroy", lambda x: gtk.main_quit())

        # Устанавливаем ширину границы окна.
        window.set_border_width(10)

        # Создаём коробку содержащую стрелки/кнопки
        box = gtk.HBox(False, 0)
        box.set_border_width(2)
        window.add(box)

        # Размещаем и показываем все наши виджеты
        box.show()

        button = create_arrow_button(gtk.ARROW_UP, gtk.SHADOW_IN)
        box.pack_start(button, False, False, 3)

        button = create_arrow_button(gtk.ARROW_DOWN, gtk.SHADOW_OUT)
        box.pack_start(button, False, False, 3)
  
        button = create_arrow_button(gtk.ARROW_LEFT, gtk.SHADOW_ETCHED_IN)
        box.pack_start(button, False, False, 3)
  
        button = create_arrow_button(gtk.ARROW_RIGHT, gtk.SHADOW_ETCHED_OUT)
        box.pack_start(button, False, False, 3)
  
        window.show()

def main():
    gtk.main()
    return 0

if __name__ == "__main__":
    Arrows()
    main()
Предыдущая страница На уровень выше  Следующая страница
Глава 9. Разнообразные виджеты К оглавлению  9.3. Всплывающие подсказки (gtk.Tooltips)

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>