Spec-Zone.ru › Qt 6.1

Класс QMouseEvent

Класс QMouseEvent содержит параметры, описывающие событие мыши. Подробнее...

Заголовок: #include <QMouseEvent>
CMake: find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Наследует: QSinglePointEvent
  • Список всех членов, включая унаследованные
  • Устаревшие члены

Открытые функции

QMouseEvent(QEvent::Type type, const QPointF &localPos, const QPointF &scenePos, const QPointF &globalPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, const QPointingDevice *device = QPointingDevice::primaryPointingDevice())
QMouseEvent(QEvent::Type type, const QPointF &localPos, const QPointF &globalPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, const QPointingDevice *device = QPointingDevice::primaryPointingDevice())
QMouseEvent(QEvent::Type type, const QPointF &localPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, const QPointingDevice *device = QPointingDevice::primaryPointingDevice())
Qt::MouseEventFlags flags() const
QPoint globalPos() const
int globalX() const
int globalY() const
QPointF localPos() const
QPoint pos() const
QPointF screenPos() const
QPointF windowPos() const
int x() const
int y() const

Подробное описание

События мыши происходят, когда кнопка мыши нажимается или отпускается внутри виджета, или когда курсор мыши перемещается.

События перемещения мыши будут происходить только при нажатой кнопке мыши, если отслеживание мыши не было включено с помощью QWidget::setMouseTracking().

Qt автоматически захватывает мышь, когда кнопка мыши нажимается внутри виджета; виджет будет продолжать получать события мыши до тех пор, пока последняя кнопка мыши не будет отпущена.

Событие мыши содержит специальный флаг подтверждения, указывающий, хочет ли получатель событие. Вы должны вызвать ignore(), если событие мыши не обрабатывается вашим виджетом. Событие мыши распространяется вверх по цепочке родительских виджетов до тех пор, пока виджет не примет его с помощью accept(), или обработчик событий его не потребляет.

Примечание: Если событие мыши распространяется на виджет, для которого установлен Qt::WA_NoMousePropagation, это событие мыши не будет распространяться дальше по цепочке родительских виджетов.

Состояние клавиш модификаторов клавиатуры можно найти, вызвав функцию modifiers(), унаследованную от QInputEvent.

Функция position() возвращает положение курсора относительно виджета или элемента, который получает событие мыши. Если вы перемещаете виджет в результате события мыши, используйте глобальное положение, возвращаемое globalPosition(), чтобы избежать дрожания.

Функция 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, const QPointF &scenePos, const QPointF &globalPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, const QPointingDevice *device = QPointingDevice::primaryPointingDevice())

Создаёт объект события мыши.

Параметр type должен быть QEvent::MouseButtonPress, QEvent::MouseButtonRelease, QEvent::MouseButtonDblClick или QEvent::MouseMove.

Точки localPos, scenePos и globalPos указывают положение курсора мыши относительно принимающего виджета или элемента, окна и экрана или рабочего стола соответственно.

Кнопка button, вызвавшая событие, задаётся как значение из перечисления Qt::MouseButton. Если событие type является MouseMove, соответствующая кнопка для этого события — Qt::NoButton. buttons — состояние всех кнопок в момент события, modifiers — состояние всех модификаторов клавиатуры.

QMouseEvent::QMouseEvent(QEvent::Type type, const QPointF &localPos, const QPointF &globalPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, const QPointingDevice *device = QPointingDevice::primaryPointingDevice())

Создаёт объект события мыши, исходящего из device.

Параметр type должен быть QEvent::MouseButtonPress, QEvent::MouseButtonRelease, QEvent::MouseButtonDblClick или QEvent::MouseMove.

localPos — положение курсора мыши относительно принимающего виджета или элемента. Положение курсора в координатах экрана задаётся параметром globalPos. Положение окна устанавливается равным значению localPos. Кнопка button, вызвавшая событие, задаётся как значение из перечисления Qt::MouseButton. Если событие type является MouseMove, соответствующая кнопка для этого события — Qt::NoButton. buttons — состояние всех кнопок в момент события, modifiers — состояние всех модификаторов клавиатуры.

QMouseEvent::QMouseEvent(QEvent::Type type, const QPointF &localPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, const QPointingDevice *device = QPointingDevice::primaryPointingDevice())

Создаёт объект события мыши, исходящего из device.

Параметр type должен быть одним из QEvent::MouseButtonPress, QEvent::MouseButtonRelease, QEvent::MouseButtonDblClick или QEvent::MouseMove.

localPos — положение курсора мыши относительно принимающего виджета или элемента. Положение окна устанавливается равным значению localPos. Кнопка button, вызвавшая событие, задаётся как значение из перечисления Qt::MouseButton. Если событие type — MouseMove, соответствующая кнопка — Qt::NoButton. Состояние мыши и клавиатуры в момент события задаётся параметрами buttons и modifiers.

Значение globalPosition() инициализируется значением QCursor::pos(), что может быть неподходящим. Используйте другой конструктор, чтобы явно указать глобальное положение.

[since 5.3] 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().

[since 5.0] QPointF QMouseEvent::localPos() const

Возвращает положение курсора мыши как QPointF, относительно виджета или элемента, получившего событие.

Если вы перемещаете виджет в результате события мыши, используйте координаты экрана, возвращаемые функцией screenPos(), чтобы избежать дрожания.

Данная функция была добавлена в Qt 5.0.

См. также x(), y(), windowPos() и screenPos().

QPoint QMouseEvent::pos() const

Возвращает положение курсора мыши, относительно виджета, получившего событие.

Если вы перемещаете виджет в результате события мыши, используйте глобальные координаты, возвращаемые функцией globalPos(), чтобы избежать дрожания.

См. также x(), y() и globalPos().

[since 5.0] QPointF QMouseEvent::screenPos() const

Возвращает положение курсора мыши как QPointF, относительно экрана, получившего событие.

Данная функция была добавлена в Qt 5.0.

См. также x(), y(), pos(), localPos() и windowPos().

[since 5.0] QPointF QMouseEvent::windowPos() const

Возвращает положение курсора мыши как QPointF, относительно окна, получившего событие.

Если вы перемещаете виджет в результате события мыши, используйте глобальные координаты, возвращаемые функцией globalPos(), чтобы избежать дрожания.

Данная функция была добавлена в Qt 5.0.

См. также x(), y(), pos(), localPos() и screenPos().

int QMouseEvent::x() const

Возвращает x-координату курсора мыши, относительно виджета, получившего событие.

См. также y() и pos().

int QMouseEvent::y() const

Возвращает y-координату курсора мыши, относительно виджета, получившего событие.

См. также x() и pos().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qmouseevent.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API