Tool

class axioma.gui.Tool

Базовый класс инструментов. Когда пользователь включает инструмент, события от виджетов, которые им поддерживаются, начинают приходить в обработчики этого инструмента. Для каждого виджета создаётся один экземпляр класса, наследованного от Tool. События сначала поступают в метод handleEvent_impl(), который по умолчанию передаёт их в соответствующий обработчик для конкретного типа события: mousePressEvent(), keyPressEvent() и т. д. Все обработчики должны возвращать значение типа EventPolicy, чтобы определить, нужно ли передавать событие дальше виджету или другим вложенным инструментам. Исключением является обработчик события отрисовки, который является независимым от метода handleEvent_impl(), и в который дополнительно передаётся QPainter.

Унаследован от:

От него наследуются:

Методы:

class EventPolicy

Режим передачи событий.

Значения

Наименование

Описание

PassEvent

Пропустить событие дальше по цепочке обработчиков

BlockEvent

Блокировать обработку события

Tool(widget)

Конструктор класса

Параметры

widget (QWidget) – Виджет, от которого инструмент будет получать события

handleEvent_impl(event)

Метод для обработки всех поддерживаемых инструментом событий. По умолчанию передаёт событие в обработчики для конкретного типа. Инструмент может обрабатывать следующие типы событий:

  • QEvent::MouseButtonPress

  • QEvent::MouseButtonRelease

  • QEvent::MouseButtonDblClick

  • QEvent::MouseMove

  • QEvent::KeyPress

  • QEvent::KeyRelease

  • QEvent::Wheel

  • QEvent::Enter

  • QEvent::Leave

Параметры

event (QEvent) – событие

Тип результата

EventPolicy

keyPressEvent(event)

Событие нажатия клавиши клавиатуры

Параметры

event (QKeyEvent) – событие клавиш

Тип результата

EventPolicy

keyReleaseEvent(event)

Событие отпускания клавиши клавиатуры

Параметры

event (QKeyEvent) – событие клавиш

Тип результата

EventPolicy

mouseDoubleClickEvent(event)

Событие двойного клика мыши

Параметры

event (QMouseEvent) – событие мыши

Тип результата

EventPolicy

mouseMoveEvent(event)

Событие перемещения мыши

Параметры

event (QMouseEvent) – событие мыши

Тип результата

EventPolicy

mousePressEvent(event)

Событие нажатия клавиши мыши

Параметры

event (QMouseEvent) – событие мыши

Тип результата

EventPolicy

mouseReleaseEvent(event)

Событие отпускания клавиши мыши

Параметры

event (QMouseEvent) – событие мыши

Тип результата

EventPolicy

paintEvent(event, painter)

Событие отрисовки

Параметры
  • event (QPaintEvent) – событие отрисовки

  • painter (QPainter) – QPainter для рисования поверх виджета

wheelEvent(event)

Событие колеса мыши

Параметры

event (QWheelEvent) – событие колеса мыши

Тип результата

EventPolicy

widget()

Виджет, от которого поступают события.

Тип результата

QWidget