Sur cette page

QNativeGestureEvent Class

La classe QNativeGestureEvent contient des paramètres qui décrivent un événement gestuel. Plus d'informations...

En-tête : #include <QNativeGestureEvent>
CMake : find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake : QT += gui
Héritages : QSinglePointEvent

Fonctions publiques

(since 6.2) QNativeGestureEvent(Qt::NativeGestureType type, const QPointingDevice *device, int fingerCount, const QPointF &localPos, const QPointF &scenePos, const QPointF &globalPos, qreal value, const QPointF &delta, quint64 sequenceId = UINT64_MAX)
(since 6.2) QPointF delta() const
(since 6.2) int fingerCount() const
Qt::NativeGestureType gestureType() const
qreal value() const

Description détaillée

Les événements gestuels natifs sont générés par le système d'exploitation, généralement en interprétant les événements tactiles du trackpad. Les événements gestuels sont des événements de haut niveau tels que le zoom, la rotation ou le panoramique. Plusieurs types contiennent des valeurs incrémentielles : ainsi, value() et delta() fournissent la différence entre l'événement précédent et l'événement actuel.

Type d'événementDescription de l'événementSéquence tactile
Qt::ZoomNativeGestureDelta d'agrandissement en pourcentage.macOS et Wayland : Pincement à deux doigts.
Qt::SmartZoomNativeGestureÉtat booléen de l'agrandissement.macOS : Double tape à deux doigts (trackpad) / Double tape à un doigt (souris magique).
Qt::RotateNativeGestureDelta de rotation en degrés.macOS et Wayland : Rotation à deux doigts.
Qt::SwipeNativeGestureAngle de balayage en degrés.macOS : Configurable dans les paramètres du trackpad.
Qt::PanNativeGestureDelta de déplacement en pixels.Wayland : Trois doigts ou plus se déplaçant en groupe, dans n'importe quelle direction.

En outre, BeginNativeGesture et EndNativeGesture sont envoyés avant et après les flux d'événements gestuels :

BeginNativeGesture ZoomNativeGesture ZoomNativeGesture ZoomNativeGesture EndNativeGesture

Le flux d'événements peut inclure des gestes entrelacés de différents types : par exemple, le geste de pincement à deux doigts génère un flux d'événements Zoom et Rotation, et PanNativeGesture peut parfois être entrelacé avec ceux-ci, en fonction de la plateforme.

D'autres types d'événements sont autonomes : SmartZoomNativeGesture et SwipeNativeGesture ne se produisent qu'une fois chaque fois que le geste est détecté.

Remarque : sur un pavé tactile, le déplacement de deux doigts en groupe (le geste de la pichenette à deux doigts) est généralement réservé au défilement ; dans ce cas, Qt génère des événements QWheelEvents. C'est la raison pour laquelle trois doigts ou plus sont nécessaires pour générer une PanNativeGesture.

Voir également Qt::NativeGestureType, QGestureEvent, et QWheelEvent.

Documentation des fonctions membres

[since 6.2] QNativeGestureEvent::QNativeGestureEvent(Qt::NativeGestureType type, const QPointingDevice *device, int fingerCount, const QPointF &localPos, const QPointF &scenePos, const QPointF &globalPos, qreal value, const QPointF &delta, quint64 sequenceId = UINT64_MAX)

Construit un événement gestuel natif de type type provenant de device et décrivant un geste à scenePos dans lequel les doigts de fingerCount sont impliqués.

Les points localPos, scenePos et globalPos indiquent la position du geste par rapport au widget ou à l'élément récepteur, à la fenêtre et à l'écran ou au bureau, respectivement.

value a une interprétation qui dépend du geste : pour RotateNativeGesture ou SwipeNativeGesture, il s'agit d'un angle en degrés. Pour ZoomNativeGesture, value est un facteur d'échelle incrémentiel, généralement très inférieur à 1, indiquant que l'élément cible doit voir son échelle ajustée comme suit : item.scale = item.scale * (1 + event.value)

Pour PanNativeGesture, delta indique la distance en pixels à laquelle la fenêtre, le widget ou l'élément doit être déplacé ou balayé.

Remarque : delta est stocké en simple précision (QVector2D), de sorte que delta() peut renvoyer des valeurs légèrement différentes dans certains cas. Ceci est susceptible d'être modifié dans les futures versions de Qt.

Cette fonction a été introduite dans Qt 6.2.

[since 6.2] QPointF QNativeGestureEvent::delta() const

Renvoie la distance parcourue depuis l'événement précédent, en pixels. Un geste Pan fournit la distance en pixels à laquelle le widget cible, l'élément ou le contenu de la fenêtre doit être déplacé.

Cette fonction a été introduite dans Qt 6.2.

Voir aussi QPanGesture::delta().

[since 6.2] int QNativeGestureEvent::fingerCount() const

Renvoie le nombre de doigts participant au geste, s'il est connu. Lorsque gestureType() est Qt::BeginNativeGesture ou Qt::EndNativeGesture, cette information est souvent inconnue et fingerCount() renvoie 0.

Cette fonction a été introduite dans Qt 6.2.

Qt::NativeGestureType QNativeGestureEvent::gestureType() const

Renvoie le type de geste.

qreal QNativeGestureEvent::value() const

Renvoie la valeur du geste. La valeur doit être interprétée en fonction du type de geste. Par exemple, un geste Zoom fournit un delta de facteur d'échelle tandis qu'un geste Rotate fournit un delta de rotation.

Voir également QNativeGestureEvent et gestureType().

© 2026 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.