Класс QMouseEvent
Класс QMouseEvent содержит параметры, описывающие событие мыши. Подробнее...
| Заголовок: | #include <QMouseEvent> |
| qmake: | QT += gui |
| Наследует: | QInputEvent |
Открытые функции
| QMouseEvent(QEvent::Type type, const QPointF &localPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers) | |
| QMouseEvent(QEvent::Type type, const QPointF &localPos, const QPointF &screenPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers) | |
| QMouseEvent(QEvent::Type type, const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers) | |
| QMouseEvent(QEvent::Type type, const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::MouseEventSource source) | |
| Qt::MouseButton | button() const |
| Qt::MouseButtons | buttons() const |
| Qt::MouseEventFlags | flags() const |
| QPoint | globalPos() const |
| int | globalX() const |
| int | globalY() const |
| const QPointF & | localPos() const |
| QPoint | pos() const |
| const QPointF & | screenPos() const |
| Qt::MouseEventSource | source() const |
| const QPointF & | windowPos() const |
| int | x() const |
| int | y() const |
- 2 открытых функции унаследованы от QInputEvent
- 7 открытых функций унаследованы от QEvent
Дополнительные унаследованные члены
- 1 свойство унаследовано от QEvent
- 1 открытая переменная унаследована от QEvent
- 1 статическая открытая переменная унаследована от QEvent
- 2 защищенных переменных унаследованы от QEvent
Подробное описание
Класс QMouseEvent содержит параметры, описывающие событие мыши.
События мыши происходят, когда кнопка мыши нажимается или отпускается внутри виджета, или когда курсор мыши перемещается.
События перемещения мыши будут происходить только когда кнопка мыши нажата, если отслеживание мыши не было включено с помощью QWidget::setMouseTracking().
Qt автоматически захватывает мышь, когда кнопка мыши нажимается внутри виджета; виджет будет продолжать получать события мыши до тех пор, пока последняя кнопка мыши не будет отпущена.
Событие мыши содержит специальный флаг подтверждения, который указывает, хочет ли получатель событие. Вы должны вызвать ignore(), если событие мыши не обрабатывается вашим виджетом. Событие мыши распространяется вверх по цепочке родительских виджетов до тех пор, пока виджет не примет его с помощью accept(), или его не потребляет фильтр событий.
Примечание: Если событие мыши распространяется на виджет, для которого установлен Qt::WA_NoMousePropagation, это событие мыши больше не будет распространяться по цепочке родительских виджетов.
Состояние клавиш модификаторов клавиатуры можно найти, вызвав функцию modifiers(), унаследованную от QInputEvent.
Функции pos(), x() и y() возвращают позицию курсора относительно виджета, который получает событие мыши. Если вы перемещаете виджет в результате события мыши, используйте глобальную позицию, возвращаемую функцией globalPos(), чтобы избежать дрожания.
Функция QWidget::setEnabled() может использоваться для включения или отключения событий мыши и клавиатуры для виджета.
Переопределите обработчики событий виджета QWidget, QWidget::mousePressEvent(), QWidget::mouseReleaseEvent(), QWidget::mouseDoubleClickEvent() и QWidget::mouseMoveEvent(), чтобы получать события мыши в собственных виджетах.
См. также QWidget::setMouseTracking(), QWidget::grabMouse() и QCursor::pos().
Документация по функциям-членам
QMouseEvent::QMouseEvent(QEvent::Type type, const QPointF &localPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers)
Конструирует объект события мыши.
Параметр type должен быть одним из QEvent::MouseButtonPress, QEvent::MouseButtonRelease, QEvent::MouseButtonDblClick или QEvent::MouseMove.
localPos — положение курсора мыши относительно получающего виджета или элемента. Положение окна устанавливается равным значению localPos. Кнопка, вызвавшая событие, задаётся значением из перечисления Qt::MouseButton. Если тип события type — MouseMove, соответствующая кнопка для этого события — Qt::NoButton. Состояние мыши и клавиатуры в момент события задаётся параметрами buttons и modifiers.
screenPos() инициализируется значением QCursor::pos(), что может быть неподходящим. Используйте другой конструктор, чтобы явно указать глобальное положение.
QMouseEvent::QMouseEvent(QEvent::Type type, const QPointF &localPos, const QPointF &screenPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers)
Конструирует объект события мыши.
Параметр type должен быть QEvent::MouseButtonPress, QEvent::MouseButtonRelease, QEvent::MouseButtonDblClick или QEvent::MouseMove.
localPos — положение курсора мыши относительно получающего виджета или элемента. Положение курсора в координатах экрана задаётся параметром screenPos. Положение окна устанавливается равным значению localPos. Кнопка, вызвавшая событие, задаётся значением из перечисления Qt::MouseButton. Если тип события type — MouseMove, соответствующая кнопка для этого события — Qt::NoButton. buttons — состояние всех кнопок в момент события, modifiers — состояние всех модификаторов клавиатуры.
QMouseEvent::QMouseEvent(QEvent::Type type, const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers)
Конструирует объект события мыши.
Параметр type должен быть QEvent::MouseButtonPress, QEvent::MouseButtonRelease, QEvent::MouseButtonDblClick или QEvent::MouseMove.
Точки localPos, windowPos и screenPos указывают положение курсора мыши относительно получающего виджета или элемента, окна и экрана соответственно.
Кнопка, вызвавшая событие, задаётся значением из перечисления Qt::MouseButton. Если тип события type равен MouseMove, соответствующая кнопка для этого события равна Qt::NoButton. buttons — состояние всех кнопок в момент события, modifiers — состояние всех модификаторов клавиатуры.
QMouseEvent::QMouseEvent(QEvent::Type type, const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::MouseEventSource source)
Создаёт объект события мыши.
Параметр type должен быть QEvent::MouseButtonPress, QEvent::MouseButtonRelease, QEvent::MouseButtonDblClick или QEvent::MouseMove.
Точки localPos, windowPos и screenPos указывают положение курсора мыши относительно получающего виджета или элемента, окна и экрана соответственно.
Кнопка, вызвавшая событие, задаётся значением из перечисления Qt::MouseButton. Если тип события type равен MouseMove, соответствующая кнопка для этого события равна Qt::NoButton. buttons — состояние всех кнопок в момент события, modifiers — состояние всех модификаторов клавиатуры.
Источник события задаётся параметром source.
Функция была добавлена в Qt 5.6.
Qt::MouseButton QMouseEvent::button() const
Возвращает кнопку, вызвавшую событие.
Обратите внимание, что возвращаемое значение всегда Qt::NoButton для событий перемещения мыши.
См. также buttons() и Qt::MouseButton.
Qt::MouseButtons QMouseEvent::buttons() const
Возвращает состояние кнопок в момент генерации события. Состояние кнопки — это комбинация Qt::LeftButton, Qt::RightButton, Qt::MidButton с использованием оператора ИЛИ. Для событий перемещения мыши это все нажатые кнопки. Для событий нажатия и двойного щелчка мыши это включает кнопку, вызвавшую событие. Для событий отпускания мыши это исключает кнопку, вызвавшую событие.
См. также button() и Qt::MouseButton.
Qt::MouseEventFlags QMouseEvent::flags() const
Возвращает флаги события мыши.
Флаги события мыши предоставляют дополнительную информацию о событии мыши.
Функция была добавлена в Qt 5.3.
См. также Qt::MouseEventFlag и QGraphicsSceneMouseEvent::flags().
QPoint QMouseEvent::globalPos() const
Возвращает глобальные координаты курсора мыши в момент события. Это важно в асинхронных системах окон, таких как X11. При перемещении виджетов в ответ на события мыши globalPos() может сильно отличаться от текущего положения указателя QCursor::pos() и от QWidget::mapToGlobal(pos()).
См. также globalX() и globalY().
int QMouseEvent::globalX() const
Возвращает глобальную x-координату курсора мыши в момент события.
См. также globalY() и globalPos().
int QMouseEvent::globalY() const
Возвращает глобальную y-координату курсора мыши в момент события.
См. также globalX() и globalPos().
const QPointF &QMouseEvent::localPos() const
Возвращает координаты курсора мыши как QPointF, относительно виджета или элемента, получившего событие.
Если вы перемещаете виджет в результате события мыши, используйте экранные координаты, возвращаемые screenPos(), чтобы избежать дрожания.
Функция была добавлена в Qt 5.0.
См. также x(), y(), windowPos(), и screenPos().
QPoint QMouseEvent::pos() const
Возвращает координаты курсора мыши относительно виджета, получившего событие.
Если вы перемещаете виджет в результате события мыши, используйте глобальные координаты, возвращаемые globalPos(), чтобы избежать дрожания.
См. также x(), y(), и globalPos().
const QPointF &QMouseEvent::screenPos() const
Возвращает координаты курсора мыши как QPointF, относительно экрана, получившего событие.
Функция была добавлена в Qt 5.0.
См. также x(), y(), pos(), localPos(), и windowPos().
Qt::MouseEventSource QMouseEvent::source() const
Возвращает информацию о источнике события мыши.
Источник события мыши может использоваться для различения реальных и искусственных событий мыши. Последние — это события, которые синтезируются из событий касания операционной системой или самим Qt.
Примечание: Многие платформы не предоставляют такой информации. На таких платформах всегда возвращается Qt::MouseEventNotSynthesized.
Функция была добавлена в Qt 5.3.
См. также Qt::MouseEventSource и QGraphicsSceneMouseEvent::source().
const QPointF &QMouseEvent::windowPos() const
Возвращает координаты курсора мыши как QPointF, относительно окна, получившего событие.
Если вы перемещаете виджет в результате события мыши, используйте глобальные координаты, возвращаемые globalPos(), чтобы избежать дрожания.
Функция была добавлена в Qt 5.0.
См. также x(), y(), pos(), localPos(), и screenPos().
int QMouseEvent::x() const
Возвращает x-координату курсора мыши относительно виджета, получившего событие.
int QMouseEvent::y() const
Возвращает y-координату курсора мыши относительно виджета, получившего событие.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qmouseevent.html