![]() |
Qt 6.x
The Qt SDK
|
A base class for pointer events containing a single point, such as mouse events. More...
#include <qevent.h>
Public Member Functions | |
Qt::MouseButton | button () const |
Returns the button that caused the event. | |
Qt::MouseButtons | buttons () const |
Returns the button state when the event was generated. | |
QPointF | position () const |
Returns the position of the point in this event, relative to the widget or item that received the event. | |
QPointF | scenePosition () const |
Returns the position of the point in this event, relative to the window or scene. | |
QPointF | globalPosition () const |
Returns the position of the point in this event on the screen or virtual desktop. | |
bool | isBeginEvent () const override |
Returns true if this event represents a \l {button()}{button} being pressed. | |
bool | isUpdateEvent () const override |
Returns true if this event does not include a change in \l {buttons()}{button state}. | |
bool | isEndEvent () const override |
Returns true if this event represents a \l {button()}{button} being released. | |
QObject * | exclusivePointGrabber () const |
void | setExclusivePointGrabber (QObject *exclusiveGrabber) |
![]() | |
QPointerEvent (Type type, const QPointingDevice *dev, Qt::KeyboardModifiers modifiers=Qt::NoModifier, const QList< QEventPoint > &points={}) | |
const QPointingDevice * | pointingDevice () const |
Returns the source device from which this event originates. | |
QPointingDevice::PointerType | pointerType () const |
Returns the type of point that generated the event. | |
void | setTimestamp (quint64 timestamp) override |
qsizetype | pointCount () const |
Returns the number of points in this pointer event. | |
QEventPoint & | point (qsizetype i) |
Returns a QEventPoint reference for the point at index i. | |
const QList< QEventPoint > & | points () const |
Returns a list of points in this pointer event. | |
QEventPoint * | pointById (int id) |
Returns the point whose \l {QEventPoint::id()}{id} matches the given id, or nullptr if no such point is found. | |
bool | allPointsGrabbed () const |
Returns true if every point in points() has either an exclusiveGrabber() or one or more passiveGrabbers(). | |
virtual bool | isBeginEvent () const |
virtual bool | isUpdateEvent () const |
virtual bool | isEndEvent () const |
bool | allPointsAccepted () const |
Returns true if isPointAccepted() is true for every point in points(); otherwise false . | |
virtual void | setAccepted (bool accepted) override |
\reimp | |
QObject * | exclusiveGrabber (const QEventPoint &point) const |
Returns the object which has been set to receive all future update events and the release event containing the given point. | |
void | setExclusiveGrabber (const QEventPoint &point, QObject *exclusiveGrabber) |
Informs the delivery logic that the given exclusiveGrabber is to receive all future update events and the release event containing the given point, and that delivery to other items can be skipped. | |
QList< QPointer< QObject > > | passiveGrabbers (const QEventPoint &point) const |
Returns the list of objects that have been requested to receive all future update events and the release event containing the given point. | |
void | clearPassiveGrabbers (const QEventPoint &point) |
Removes all passive grabbers from the given point. | |
bool | addPassiveGrabber (const QEventPoint &point, QObject *grabber) |
Informs the delivery logic that the given grabber is to receive all future update events and the release event containing the given point, regardless where else those events may be delivered. | |
bool | removePassiveGrabber (const QEventPoint &point, QObject *grabber) |
Removes the passive grabber from the given point if it was previously added. | |
![]() | |
QInputEvent (Type type, const QInputDevice *m_dev, Qt::KeyboardModifiers modifiers=Qt::NoModifier) | |
const QInputDevice * | device () const |
QInputDevice::DeviceType | deviceType () const |
Returns the type of device that generated the event. | |
Qt::KeyboardModifiers | modifiers () const |
Returns the keyboard modifier flags that existed immediately before the event occurred. | |
void | setModifiers (Qt::KeyboardModifiers modifiers) |
quint64 | timestamp () const |
Returns the window system's timestamp for this event. | |
virtual void | setTimestamp (quint64 timestamp) |
![]() | |
QEvent (Type type) | |
Constructs an event object of type type. | |
virtual | ~QEvent () |
Destroys the event. | |
Type | type () const |
Returns the event type. | |
bool | spontaneous () const |
Returns true if the event originated outside the application (a system event); otherwise returns false . | |
virtual void | setAccepted (bool accepted) |
bool | isAccepted () const |
void | accept () |
Sets the accept flag of the event object, the equivalent of calling setAccepted(true). | |
void | ignore () |
Clears the accept flag parameter of the event object, the equivalent of calling setAccepted(false). | |
bool | isInputEvent () const noexcept |
bool | isPointerEvent () const noexcept |
bool | isSinglePointEvent () const noexcept |
virtual QEvent * | clone () const |
Creates and returns an identical copy of this event. | |
Protected Attributes | |
Qt::MouseButton | m_button = Qt::NoButton |
Qt::MouseButtons | m_mouseState = Qt::NoButton |
Qt::MouseEventSource | m_source |
quint16 | m_reserved |
quint16 | m_reserved2: 11 |
quint16 | m_doubleClick: 1 |
quint16 | m_phase: 3 |
quint16 | m_invertedScrolling: 1 |
![]() | |
QList< QEventPoint > | m_points |
![]() | |
const QInputDevice * | m_dev = nullptr |
quint64 | m_timeStamp = 0 |
Qt::KeyboardModifiers | m_modState = Qt::NoModifier |
quint32 | m_reserved = 0 |
![]() | |
quint16 | t |
Properties | |
QObject * | exclusivePointGrabber |
the object that will receive future updates | |
Friends | |
class | ::tst_QEvent |
A base class for pointer events containing a single point, such as mouse events.
|
protected |
|
protected |
|
inline |
Returns the button that caused the event.
The returned value is always Qt::NoButton for mouse move events, as well as \l TabletMove, \l TabletEnterProximity, and \l TabletLeaveProximity events.
Definition at line 115 of file qevent.h.
Referenced by QGuiApplicationPrivate::captureGlobalModifierState(), QItemDelegate::editorEvent(), QStyledItemDelegate::editorEvent(), QComboMenuDelegate::editorEvent(), QWhatsThisPrivate::eventFilter(), QSystemTrayIconSys::mouseDoubleClickEvent(), QMdi::ControlLabel::mouseDoubleClickEvent(), QMdiSubWindow::mouseDoubleClickEvent(), QSystemTrayIconSys::mousePressEvent(), QSlider::mousePressEvent(), QMdi::ControlLabel::mousePressEvent(), QMdiSubWindow::mousePressEvent(), QMdi::ControlLabel::mouseReleaseEvent(), QMdiSubWindow::mouseReleaseEvent(), QSizeGrip::mouseReleaseEvent(), QApplication::notify(), operator<<(), PressDelayHandler::pressed(), QWidgetTextControl::processEvent(), QFlickGestureRecognizer::recognize(), PressDelayHandler::sendMouseEvent(), and QQuickHoverHandler::wantsPointerEvent().
|
inline |
Returns the button state when the event was generated.
The button state is a combination of Qt::LeftButton, Qt::RightButton, and Qt::MiddleButton using the OR operator.
For mouse move or \l TabletMove events, this is all buttons that are pressed down.
For mouse press, double click, or \l TabletPress events, this includes the button that caused the event.
For mouse release or \l TabletRelease events, this excludes the button that caused the event.
Definition at line 116 of file qevent.h.
Referenced by QQuickFlickablePrivate::handleMoveEvent(), QMdiSubWindow::mouseMoveEvent(), QSlider::mousePressEvent(), QSlider::mouseReleaseEvent(), QApplication::notify(), operator<<(), QWidgetTextControl::processEvent(), QFlickGestureRecognizer::recognize(), PressDelayHandler::sendMouseEvent(), and QQuickPointerDeviceHandler::wantsPointerEvent().
|
inline |
Definition at line 129 of file qevent.h.
References QPointerEvent::exclusiveGrabber().
|
inline |
Returns the position of the point in this event on the screen or virtual desktop.
Definition at line 122 of file qevent.h.
References Q_ASSERT.
Referenced by QWhatsThisPrivate::eventFilter(), QMdiSubWindow::eventFilter(), QWidgetWindow::handleEnterLeaveEvent(), QMdiSubWindow::mouseMoveEvent(), QSystemTrayIconSys::mousePressEvent(), QApplication::notify(), operator<<(), PressDelayHandler::pressed(), QWidgetTextControl::processEvent(), QTapAndHoldGestureRecognizer::recognize(), QFlickGestureRecognizer::recognize(), and PressDelayHandler::sendMouseEvent().
|
overridevirtual |
Returns true
if this event represents a \l {button()}{button} being pressed.
Reimplemented from QPointerEvent.
Definition at line 579 of file qevent.cpp.
References QEvent::MouseButtonDblClick, and Qt::NoButton.
|
overridevirtual |
Returns true
if this event represents a \l {button()}{button} being released.
Reimplemented from QPointerEvent.
Definition at line 601 of file qevent.cpp.
References m_button, m_mouseState, and Qt::NoButton.
|
overridevirtual |
Returns true
if this event does not include a change in \l {buttons()}{button state}.
Reimplemented from QPointerEvent.
Definition at line 591 of file qevent.cpp.
References m_button, QEvent::MouseButtonDblClick, Qt::NoButton, and QEvent::type().
|
inline |
Returns the position of the point in this event, relative to the widget or item that received the event.
If you move your widgets around in response to mouse events, use globalPosition() instead.
Definition at line 118 of file qevent.h.
References Q_ASSERT.
Referenced by QGraphicsViewPrivate::_q_unsetViewportCursor(), QWaylandMouseTracker::childMouseEventFilter(), QItemDelegate::editorEvent(), QStyledItemDelegate::editorEvent(), QTabBar::event(), QHeaderView::event(), QTipLabel::eventFilter(), QWhatsThisPrivate::eventFilter(), QMdiSubWindow::eventFilter(), QWidgetWindow::handleEnterLeaveEvent(), QSlider::mouseMoveEvent(), QMdiSubWindow::mouseMoveEvent(), QSlider::mousePressEvent(), QMdiSubWindow::mousePressEvent(), QMdiSubWindow::mouseReleaseEvent(), QApplication::notify(), operator<<(), QQuickTextControl::processEvent(), QWidgetTextControl::processEvent(), QQuickMultiPointTouchArea::sendMouseEvent(), and QTreeView::viewportEvent().
|
inline |
Returns the position of the point in this event, relative to the window or scene.
Definition at line 120 of file qevent.h.
References Q_ASSERT.
Referenced by QQuickDeliveryAgentPrivate::deliverTouchAsMouse(), QQuickDeliveryAgent::event(), QApplication::notify(), operator<<(), and QQuickMultiPointTouchArea::shouldFilter().
Definition at line 131 of file qevent.h.
References QPointerEvent::setExclusiveGrabber().
|
protected |
Definition at line 145 of file qevent.h.
Referenced by isEndEvent(), and isUpdateEvent().
|
protected |
Definition at line 157 of file qevent.h.
Referenced by QMouseEvent::flags().
|
protected |
Definition at line 146 of file qevent.h.
Referenced by isEndEvent().
|
protected |
|
readwrite |
the object that will receive future updates
The exclusive grabber is an object that has chosen to receive all future update events and the release event containing the same point that this event carries.
Setting the exclusivePointGrabber property is a convenience equivalent to: