Класс QHoverEvent
Класс QHoverEvent содержит параметры, описывающие событие наведения курсора мыши. Подробнее...
| Заголовок: | #include <QHoverEvent> |
| qmake: | QT += gui |
| Наследует: | QInputEvent |
Открытые функции
| QHoverEvent(Тип type, const QPointF &pos, const QPointF &oldPos, Qt::KeyboardModifiers modifiers = Qt::NoModifier) | |
| QPoint | oldPos() const |
| const QPointF & | oldPosF() const |
| QPoint | pos() const |
| const QPointF & | posF() const |
- 2 открытых функции унаследованы от QInputEvent
- 6 открытых функций унаследованы от QEvent
Дополнительные унаследованные члены
Подробное описание
Класс QHoverEvent содержит параметры, описывающие событие наведения курсора мыши.
События наведения курсора мыши происходят, когда курсор мыши перемещается в, из или внутри виджета, и если у виджета есть атрибут Qt::WA_Hover.
Функция pos() возвращает текущую позицию курсора, а oldPos() — предыдущую позицию мыши.
Существует несколько сходств между событиями QEvent::HoverEnter и QEvent::HoverLeave, и событиями QEvent::Enter и QEvent::Leave. Однако они немного отличаются, потому что мы вызываем update() в обработчике событий HoverEnter и HoverLeave.
QEvent::HoverMove также немного отличается от QEvent::MouseMove. Рассмотрим окно верхнего уровня A, содержащее дочерний элемент B, который, в свою очередь, содержит дочерний элемент C (все с включенным отслеживанием мыши):
Теперь, если вы переместите курсор сверху вниз по середине A, вы получите следующие события QEvent::MouseMove:
- A::MouseMove
- B::MouseMove
- C::MouseMove
Вы получите те же события для QEvent::HoverMove, за исключением того, что событие всегда распространяется до верхнего уровня, независимо от того, принято ли событие или нет. Оно будет прекращать распространение только с атрибутом Qt::WA_NoMousePropagation.
В этом случае события будут происходить следующим образом:
- A::HoverMove
- A::HoverMove, B::HoverMove
- A::HoverMove, B::HoverMove, C::HoverMove
Документация по функциям-членам
QHoverEvent::QHoverEvent(Тип type, const QPointF &pos, const QPointF &oldPos, Qt::KeyboardModifiers modifiers = Qt::NoModifier)
Создает объект события наведения курсора.
Параметр type должен быть QEvent::HoverEnter, QEvent::HoverLeave или QEvent::HoverMove.
pos — текущая позиция курсора мыши относительно принимающего виджета, а oldPos — его предыдущая позиция. modifiers содержит состояние всех модификаторов клавиатуры в момент события.
QPoint QHoverEvent::oldPos() const
Возвращает предыдущую позицию курсора мыши относительно виджета, который получил событие. Если нет предыдущей позиции, oldPos() вернёт ту же позицию, что и pos().
Для событий QEvent::HoverEnter эта позиция всегда будет QPoint(-1, -1).
См. также pos().
const QPointF &QHoverEvent::oldPosF() const
Возвращает предыдущую позицию курсора мыши относительно виджета, который получил событие. Если нет предыдущей позиции, oldPosF() вернёт ту же позицию, что и posF().
Для событий QEvent::HoverEnter эта позиция всегда будет QPointF(-1, -1).
См. также posF().
QPoint QHoverEvent::pos() const
Возвращает позицию курсора мыши относительно виджета, который получил событие.
Для событий QEvent::HoverLeave эта позиция всегда будет QPoint(-1, -1).
См. также oldPos().
const QPointF &QHoverEvent::posF() const
Возвращает позицию курсора мыши относительно виджета, который получил событие.
Для событий QEvent::HoverLeave эта позиция всегда будет QPointF(-1, -1).
См. также oldPosF().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qhoverevent.html