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