En esta página

QNativeGestureEvent Class

La clase QNativeGestureEvent contiene parámetros que describen un evento gestual. Más...

Cabecera: #include <QNativeGestureEvent>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Hereda: QSinglePointEvent

Funciones Públicas

(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

Descripción Detallada

Los eventos de gestos nativos son generados por el sistema operativo, típicamente interpretando eventos táctiles del trackpad. Los eventos de gestos son eventos de alto nivel como zoom, rotación o paneo. Varios tipos contienen valores incrementales: es decir, value() y delta() proporcionan la diferencia entre el evento anterior y el actual.

Evento TipoDescripciónSecuencia táctil
Qt::ZoomNativeGestureDelta de aumento en porcentaje.macOS y Wayland: Pellizco con dos dedos.
Qt::SmartZoomNativeGestureEstado booleano de la ampliación.macOS: Doble toque con dos dedos (trackpad) / Doble toque con un dedo (ratón mágico).
Qt::RotateNativeGestureDelta de rotación en grados.macOS y Wayland: Rotación con dos dedos.
Qt::SwipeNativeGestureÁngulo de deslizamiento en grados.macOS: Configurable en los ajustes del trackpad.
Qt::PanNativeGestureDelta de desplazamiento en píxeles.Wayland: Tres o más dedos moviéndose en grupo, en cualquier dirección.

Además, BeginNativeGesture y EndNativeGesture se envían antes y después de los flujos de eventos de gestos:

BeginNativeGesture ZoomNativeGesture ZoomNativeGesture ZoomNativeGesture EndNativeGesture

El flujo de eventos puede incluir gestos intercalados de diferentes tipos: por ejemplo, el gesto de pellizcar con dos dedos genera un flujo de eventos Zoom y Rotar, y PanNativeGesture puede a veces estar intercalado con ellos, dependiendo de la plataforma.

Otros tipos son eventos independientes: SmartZoomNativeGesture y SwipeNativeGesture sólo se producen una vez cada vez que se detecta el gesto.

Nota: En un touchpad, mover dos dedos en grupo (el gesto de deslizar dos dedos) suele reservarse para el desplazamiento; en ese caso, Qt genera QWheelEvents. Esta es la razón por la que se necesitan tres o más dedos para generar un PanNativeGesture.

Ver también Qt::NativeGestureType, QGestureEvent, y QWheelEvent.

Documentación de las funciones miembro

[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)

Construye un evento de gesto nativo de tipo type originado en device que describe un gesto en scenePos en el que intervienen los dedos fingerCount.

Los puntos localPos, scenePos y globalPos especifican la posición del gesto en relación con el widget o elemento receptor, la ventana y la pantalla o escritorio, respectivamente.

value tiene una interpretación dependiente del gesto: para RotateNativeGesture o SwipeNativeGesture, es un ángulo en grados. Para ZoomNativeGesture, value es un factor de escala incremental, normalmente mucho menor que 1, que indica que el elemento de destino debe tener su escala ajustada así: item.scale = item.scale * (1 + event.value)

En el caso de PanNativeGesture, delta indica la distancia en píxeles a la que debe desplazarse la ventana gráfica, el widget o el elemento.

Nota: delta se almacena en precisión única (QVector2D), por lo que delta() puede devolver valores ligeramente diferentes en algunos casos. Esto está sujeto a cambios en futuras versiones de Qt.

Esta función se introdujo en Qt 6.2.

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

Devuelve la distancia movida desde el evento anterior, en píxeles. Un gesto Pan proporciona la distancia en píxeles a la que se debe mover el widget, elemento o contenido de la ventana.

Esta función se introdujo en Qt 6.2.

Véase también QPanGesture::delta().

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

Devuelve el número de dedos que participan en el gesto, si se conoce. Cuando gestureType() es Qt::BeginNativeGesture o Qt::EndNativeGesture, a menudo se desconoce esta información, y fingerCount() devuelve 0.

Esta función se introdujo en Qt 6.2.

Qt::NativeGestureType QNativeGestureEvent::gestureType() const

Devuelve el tipo de gesto.

qreal QNativeGestureEvent::value() const

Devuelve el valor del gesto. El valor debe interpretarse en función del tipo de gesto. Por ejemplo, un gesto de Zoom proporciona un delta de factor de escala mientras que un gesto de Rotar proporciona un delta de rotación.

Véase también QNativeGestureEvent y 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.