Tool

class axioma.gui.Tool

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

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

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

Методы:

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
paintEvent(event, painter)

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

Параметры:
  • event (QPaintEvent) – событие отрисовки
  • painter (QPainter) – QPainter для рисования поверх виджета
mousePressEvent(event)

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

Параметры:event (QMouseEvent) – событие мыши
Тип результата:EventPolicy
mouseReleaseEvent(event)

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

Параметры:event (QMouseEvent) – событие мыши
Тип результата:EventPolicy
mouseMoveEvent(event)

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

Параметры:event (QMouseEvent) – событие мыши
Тип результата:EventPolicy
mouseDoubleClickEvent(event)

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

Параметры:event (QMouseEvent) – событие мыши
Тип результата:EventPolicy
keyPressEvent(event)

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

Параметры:event (QKeyEvent) – событие клавиш
Тип результата:EventPolicy
keyReleaseEvent(event)

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

Параметры:event (QKeyEvent) – событие клавиш
Тип результата:EventPolicy
wheelEvent(event)

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

Параметры:event (QWheelEvent) – событие колеса мыши
Тип результата:EventPolicy
widget()

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

Тип результата:QWidget
class EventPolicy

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

Значения
Наименование Описание
PassEvent Пропустить событие дальше по цепочке обработчиков
BlockEvent Блокировать обработку события