Spec-Zone.ru › Qt 5.12

Класс 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
  • 6 открытых функций унаследованы от QEvent

Защищенные переменные

Qt::MouseButton b
int caps
QPointF l
Qt::MouseButtons mouseState
QPointF s
QVector2D velocity
QPointF w

Дополнительные унаследованные члены

  • 1 свойство унаследовано от QEvent
  • 1 статический открытый член унаследован от 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. Кнопка button, которая вызвала событие, задается как значение из перечисления 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 с использованием оператора OR. Для событий перемещения мыши это все нажатые кнопки. Для событий нажатия и двойного щелчка мыши это включает кнопку, вызвавшую событие. Для событий отпускания мыши это исключает кнопку, вызвавшую событие.

См. также 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-координату курсора мыши, относительно виджета, получившего событие.

См. также 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-5.12/qmouseevent.html

Spec-Zone.ru

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