Sur cette page

QNativeGestureEvent Class

La classe `QNativeGestureEvent` contient des paramètres qui décrivent un événement de geste. En savoir plus...

En-tête : #include <QNativeGestureEvent>
CMake : find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake : QT += gui
Hérite de : 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

Fonctions protégées

QNativeGestureEvent(QNativeGestureEvent &&)
QNativeGestureEvent &operator=(QNativeGestureEvent &&)
QNativeGestureEvent &operator=(const QNativeGestureEvent &other)

Description détaillée

Les événements de geste natifs sont générés par le système d’exploitation, généralement par l’interprétation des événements tactiles du pavé tactile. Les événements de geste 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énementDescriptionSéquence tactile
Qt::ZoomNativeGestureDelta de grossissement en pourcentage.macOS et Wayland : pincement à deux doigts.
Qt::SmartZoomNativeGestureÉtat binaire du zoom.macOS : double tapotement à deux doigts (trackpad) / double tapotement à un doigt (Magic Mouse).
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::PanNativeGestureDéplacement en pixels.Wayland : trois doigts ou plus se déplaçant ensemble, dans n'importe quelle direction.

De plus, les événements BeginNativeGesture et EndNativeGesture sont envoyés respectivement avant et après les flux d'événements de geste :

BeginNativeGesture ZoomNativeGesture ZoomNativeGesture ZoomNativeGesture EndNativeGesture

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

D’autres types constituent des événements autonomes : *SmartZoomNativeGesture* et *SwipeNativeGesture* ne se produisent qu’une seule fois à chaque détection du geste.

Remarque : sur un pavé tactile, le déplacement simultané de deux doigts (le geste de balayage à deux doigts) est généralement réservé au défilement ; dans ce cas, Qt génère des événements QWheelEvent. C’est la raison pour laquelle il faut au moins trois doigts pour générer un 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)

Crée un événement gestuel natif de type type provenant de device et décrivant un geste à l'adresse scenePos impliquant fingerCount doigts.

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

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émental, généralement bien inférieur à 1, indiquant que l’échelle de l’élément cible doit être ajustée comme suit : `item.scale = item.scale * (1 + event.value)`

Pour `PanNativeGesture`, ` delta ` indique la distance en pixels sur laquelle la fenêtre d’affichage, le widget ou l’élément doit être déplacé ou déplacé horizontalement.

Remarque : la valeur delta est stockée en précision simple (QVector2D), de sorte que la fonction delta() peut renvoyer des valeurs légèrement différentes dans certains cas. Ceci est susceptible de changer dans les futures versions de Qt.

Cette fonction a été introduite dans Qt 6.2.

[protected delete] QNativeGestureEvent::QNativeGestureEvent(QNativeGestureEvent &&)

Crée par « move » une instance de ` QNativeGestureEvent`. Cette fonction est supprimée.

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

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

Cette fonction a été introduite dans Qt 6.2.

Voir également QPanGesture::delta().

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

Renvoie le nombre de doigts participant au geste, s'il est connu. Lorsque ` gestureType()` est défini sur ` 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. Cette valeur doit être interprétée en fonction du type de geste. Par exemple, un geste de zoom fournit un delta de facteur d'échelle, tandis qu'un geste de rotation fournit un delta de rotation.

Voir également QNativeGestureEvent et gestureType().

[protected delete] QNativeGestureEvent &QNativeGestureEvent::operator=(QNativeGestureEvent &&)

La commande « Move » attribue « other » à cette instance « QNativeGestureEvent ». Cette fonction est supprimée.

[noexcept protected default] QNativeGestureEvent &QNativeGestureEvent::operator=(const QNativeGestureEvent &other)

Attribue par copie l'other à cette instance d'QNativeGestureEvent.

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