QEventPoint Class

The QEventPoint class provides information about a point in a QPointerEvent. More...

Header: #include <QEventPoint>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Since: Qt 6.0

Public Types

enum State { Unknown, Stationary, Pressed, Updated, Released }
flags States

Properties

Public Functions

QEventPoint(int pointId, QEventPoint::State state, const QPointF &scenePosition, const QPointF &globalPosition)
QEventPoint(const QEventPoint &other)
QEventPoint(QEventPoint &&other)
~QEventPoint()
const QPointingDevice *device() const
QSizeF ellipseDiameters() const
QPointF globalGrabPosition() const
QPointF globalLastPosition() const
QPointF globalPosition() const
QPointF globalPressPosition() const
QPointF grabPosition() const
int id() const
bool isAccepted() const
QPointF lastPosition() const
ulong lastTimestamp() const
QPointF normalizedPosition() const
QPointF position() const
QPointF pressPosition() const
ulong pressTimestamp() const
qreal pressure() const
qreal rotation() const
QPointF sceneGrabPosition() const
QPointF sceneLastPosition() const
QPointF scenePosition() const
QPointF scenePressPosition() const
void setAccepted(bool accepted = true)
QEventPoint::State state() const
qreal timeHeld() const
ulong timestamp() const
QPointingDeviceUniqueId uniqueId() const
QVector2D velocity() const
bool operator!=(const QEventPoint &other) const
QEventPoint &operator=(const QEventPoint &other)
QEventPoint &operator=(QEventPoint &&other)
bool operator==(const QEventPoint &other) const

Detailed Description

Member Type Documentation

enum QEventPoint::State
flags QEventPoint::States

Specifies the state of this event point.

ConstantValueDescription
QEventPoint::UnknownQt::TouchPointUnknownStateUnknown state.
QEventPoint::StationaryQt::TouchPointStationaryThe event point did not move.
QEventPoint::PressedQt::TouchPointPressedThe touch point or button is pressed.
QEventPoint::UpdatedQt::TouchPointMovedThe event point was updated.
QEventPoint::ReleasedQt::TouchPointReleasedThe touch point or button was released.

The States type is a typedef for QFlags<State>. It stores an OR combination of State values.

Property Documentation

accepted : bool

This property holds the accepted state of the event point.

In widget-based applications, this property is not used, as it's only meaningful for a widget to accept or reject a complete QInputEvent.

In Qt Quick however, it's normal for an Item or Event Handler to accept only the individual points in a QTouchEvent that are actually participating in a gesture, while other points can be delivered to other items or handlers. For the sake of consistency, that applies to any QPointerEvent; and delivery is done only when all points in a QPointerEvent have been accepted.

Access functions:

bool isAccepted() const
void setAccepted(bool accepted = true)

See also QEvent::accepted.

[read-only] device : QPointingDevice* const

This property holds the pointing device from which this event point originates.

Access functions:

const QPointingDevice *device() const

[read-only] ellipseDiameters : const QSizeF

This property holds the width and height of the bounding ellipse of the touch point.

The return value is in logical pixels. Most touchscreens do not detect the shape of the contact point, and no mice or tablet devices can detect it, so a null size is the most common value. On some touchscreens the diameters may be nonzero and always equal (the ellipse is approximated as a circle).

Access functions:

QSizeF ellipseDiameters() const

[read-only] globalGrabPosition : const QPointF

This property holds the global position at which this point was grabbed.

The global position is relative to the screen or virtual desktop.

Access functions:

QPointF globalGrabPosition() const

See also globalPosition, grabPosition, and sceneGrabPosition.

[read-only] globalLastPosition : const QPointF

This property holds the global position of this point from the previous press or move event.

The global position is relative to the screen or virtual desktop.

Access functions:

QPointF globalLastPosition() const

See also globalPosition, lastPosition, and sceneLastPosition.

[read-only] globalPosition : const QPointF

This property holds the global position of this point.

The global position is relative to the screen or virtual desktop.

Access functions:

QPointF globalPosition() const

See also globalPressPosition, position, and scenePosition.

[read-only] globalPressPosition : const QPointF

This property holds the global position at which this point was pressed.

The global position is relative to the screen or virtual desktop.

Access functions:

QPointF globalPressPosition() const

See also globalPosition, pressPosition, and scenePressPosition.

[read-only] grabPosition : const QPointF

This property holds the position at which this point was grabbed.

The position is relative to the widget or item that received the event.

Access functions:

QPointF grabPosition() const

See also position.

[read-only] id : const int

This property holds the ID number of this event point.

Note: Do not assume that ID numbers start at zero or that they are sequential. Such an assumption is often false due to the way the underlying drivers work.

Access functions:

int id() const

[read-only] lastPosition : const QPointF

This property holds the position of this point from the previous press or move event.

The position is relative to the widget or item that received the event.

Access functions:

QPointF lastPosition() const

See also position and pressPosition.

[read-only] lastTimestamp : const ulong

This property holds the time from the previous QPointerEvent that contained this point.

Access functions:

ulong lastTimestamp() const

See also globalLastPosition.

[read-only] position : const QPointF

This property holds the position of this point.

The position is relative to the widget or item that received the event.

Access functions:

QPointF position() const

[read-only] pressPosition : const QPointF

This property holds the position at which this point was pressed.

The position is relative to the widget or item that received the event.

Access functions:

QPointF pressPosition() const

See also position.

[read-only] pressTimestamp : const ulong

This property holds the most recent time at which this point was pressed.

Access functions:

ulong pressTimestamp() const

See also timestamp.

[read-only] pressure : const qreal

This property holds the pressure of this point.

The return value is in the range 0.0 to 1.0.

Access functions:

qreal pressure() const

[read-only] rotation : const qreal

This property holds the angular orientation of this point.

The return value is in degrees, where zero (the default) indicates the finger, token or stylus is pointing upwards, a negative angle means it's rotated to the left, and a positive angle means it's rotated to the right. Most touchscreens do not detect rotation, so zero is the most common value.

Access functions:

qreal rotation() const

[read-only] sceneGrabPosition : const QPointF

This property holds the scene position at which this point was grabbed.

The scene position is the position relative to QQuickWindow if handled in QQuickItem::event(), in QGraphicsScene coordinates if handled by an override of QGraphicsItem::touchEvent(), or the window position in widget applications.

Access functions:

QPointF sceneGrabPosition() const

See also scenePosition, grabPosition, and globalGrabPosition.

[read-only] sceneLastPosition : const QPointF

This property holds the scene position of this point from the previous press or move event.

The scene position is the position relative to QQuickWindow if handled in QQuickItem::event(), in QGraphicsScene coordinates if handled by an override of QGraphicsItem::touchEvent(), or the window position in widget applications.

Access functions:

QPointF sceneLastPosition() const

See also scenePosition and scenePressPosition.

[read-only] scenePosition : const QPointF

This property holds the scene position of this point.

The scene position is the position relative to QQuickWindow if handled in QQuickItem::event(), in QGraphicsScene coordinates if handled by an override of QGraphicsItem::touchEvent(), or the window position in widget applications.

Access functions:

QPointF scenePosition() const

See also scenePressPosition, position, and globalPosition.

[read-only] scenePressPosition : const QPointF

This property holds the scene position at which this point was pressed.

The scene position is the position relative to QQuickWindow if handled in QQuickItem::event(), in QGraphicsScene coordinates if handled by an override of QGraphicsItem::touchEvent(), or the window position in widget applications.

Access functions:

QPointF scenePressPosition() const

See also scenePosition, pressPosition, and globalPressPosition.

[read-only] state : const State

This property holds the current state of the event point.

Access functions:

QEventPoint::State state() const

[read-only] timeHeld : const qreal

This property holds the duration, in seconds, since this point was pressed and not released.

Access functions:

qreal timeHeld() const

See also pressTimestamp and timestamp.

[read-only] timestamp : const ulong

This property holds the most recent time at which this point was included in a QPointerEvent.

Access functions:

ulong timestamp() const

See also QPointerEvent::timestamp().

[read-only] uniqueId : const QPointingDeviceUniqueId

This property holds the unique ID of this point or token, if any.

It is often invalid (see isValid()), because touchscreens cannot uniquely identify fingers.

When it comes from a QTabletEvent, it identifies the serial number of the stylus in use.

It may identify a specific token (fiducial object) when the TUIO driver is in use with a touchscreen that supports them.

Access functions:

QPointingDeviceUniqueId uniqueId() const

[read-only] velocity : const QVector2D

This property holds a velocity vector, in units of pixels per second, in the coordinate. system of the screen or desktop.

Note: If the device's capabilities include QInputDevice::Velocity, it means velocity comes from the operating system (perhaps the touch hardware or driver provides it). But usually the Velocity capability is not set, indicating that the velocity is calculated by Qt, using a simple Kalman filter to provide a smoothed average velocity rather than an instantaneous value. Effectively it tells how fast and in what direction the user has been dragging this point over the last few events, with the most recent event having the strongest influence.

Access functions:

QVector2D velocity() const

See also QInputDevice::capabilities() and QInputEvent::device().

Member Function Documentation

QEventPoint::QEventPoint(int pointId, QEventPoint::State state, const QPointF &scenePosition, const QPointF &globalPosition)

Constructs an event point with the given pointId, state, scenePosition and globalPosition.

QEventPoint::QEventPoint(const QEventPoint &other)

Constructs an event point by making a shallow copy of other.

QEventPoint::QEventPoint(QEventPoint &&other)

Constructs an event point by moving other.

QEventPoint::~QEventPoint()

Destroys the event point.

QPointF QEventPoint::normalizedPosition() const

Returns the normalized position of this point.

The coordinates are calculated by transforming globalPosition() into the space of QInputDevice::availableVirtualGeometry(), i.e. (0, 0) is the top-left corner and (1, 1) is the bottom-right corner.

See also globalPosition.

bool QEventPoint::operator!=(const QEventPoint &other) const

Returns true if this event point is not equal to other, otherwise return false.

QEventPoint &QEventPoint::operator=(const QEventPoint &other)

Assigns other to this event point and returns a reference to this event point.

QEventPoint &QEventPoint::operator=(QEventPoint &&other)

Move-assigns other to this event point instance.

bool QEventPoint::operator==(const QEventPoint &other) const

Returns true if this event point is equal to other, otherwise return false.

© 2023 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.