Auf dieser Seite

QNativeGestureEvent Class

Die Klasse „QNativeGestureEvent“ enthält Parameter, die ein Gestenereignis beschreiben. Mehr...

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

Öffentliche Funktionen

(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

Geschützte Funktionen

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

Ausführliche Beschreibung

Native Gestenereignisse werden vom Betriebssystem generiert, typischerweise durch die Interpretation von Touch-Ereignissen des Trackpads. Gestenereignisse sind Ereignisse auf hoher Ebene wie Zoomen, Drehen oder Schwenken. Einige Typen enthalten inkrementelle Werte: Das heißt, „ value()“ und „ delta()“ liefern die Differenz zwischen dem vorherigen und dem aktuellen Ereignis.

EreignistypBeschreibungBerührungssequenz
Qt::ZoomNativeGestureVergrößerungsdelta in Prozent.macOS und Wayland: Zwei-Finger-Pinch.
Qt::SmartZoomNativeGestureBoolescher Vergrößerungsstatus.macOS: Doppeltippen mit zwei Fingern (Trackpad) / Doppeltippen mit einem Finger (Magic Mouse).
Qt::RotateNativeGestureDrehungsänderung in Grad.macOS und Wayland: Drehung mit zwei Fingern.
Qt::SwipeNativeGestureWischwinkel in Grad.macOS: Konfigurierbar in den Trackpad-Einstellungen.
Qt::PanNativeGestureVerschiebungsdelta in Pixeln.Wayland: Drei oder mehr Finger, die sich als Gruppe in eine beliebige Richtung bewegen.

Zudem werden „BeginNativeGesture“ und „EndNativeGesture“ vor und nach den Gesten-Ereignisströmen gesendet:

BeginNativeGesture ZoomNativeGesture ZoomNativeGesture ZoomNativeGesture EndNativeGesture

Der Ereignis-Stream kann verschachtelte Gesten unterschiedlicher Art enthalten: So erzeugt beispielsweise die Zwei-Finger-Pinch-Geste einen Stream aus Zoom- und Rotate-Ereignissen, und PanNativeGesture kann je nach Plattform manchmal mit diesen verschachtelt sein.

Andere Typen sind eigenständige Ereignisse: „SmartZoomNativeGesture“ und „SwipeNativeGesture“ treten jeweils nur einmal auf, wenn die Geste erkannt wird.

Hinweis: Auf einem Touchpad ist das gemeinsame Bewegen von zwei Fingern (die Zwei-Finger-Flick-Geste) in der Regel für das Scrollen reserviert; in diesem Fall generiert Qt „QWheelEvents“. Dies ist der Grund dafür, dass drei oder mehr Finger erforderlich sind, um eine „PanNativeGesture“ zu erzeugen.

Siehe auch Qt::NativeGestureType, QGestureEvent und QWheelEvent.

Dokumentation zu den Member-Funktionen

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

Erstellt ein natives Gestenereignis vom Typ „ type “, das von „ device “ stammt und eine Geste unter „ scenePos “ beschreibt, an der „ fingerCount “ Finger beteiligt sind.

Die Punkte „ localPos “, „ scenePos “ und „ globalPos “ geben die Position der Geste relativ zum empfangenden Widget bzw. Element, zum Fenster sowie zum Bildschirm bzw. Desktop an.

value hat eine gestenabhängige Interpretation: Bei „RotateNativeGesture“ oder „SwipeNativeGesture“ handelt es sich um einen Winkel in Grad. Bei „ZoomNativeGesture“ ist „ value “ ein inkrementeller Skalierungsfaktor, der in der Regel deutlich kleiner als 1 ist und angibt, dass die Skalierung des Zielelements wie folgt angepasst werden soll: item.scale = item.scale * (1 + event.value)

Bei `PanNativeGesture` gibt ` delta ` die Entfernung in Pixeln an, um die der Viewport, das Widget oder das Element verschoben oder verschoben werden soll.

Hinweis: Der Wert „ delta “ wird in Einzelpräzision (QVector2D) gespeichert, sodass „ delta()“ in einigen Fällen leicht abweichende Werte zurückgeben kann. Dies kann sich in zukünftigen Versionen von Qt ändern.

Diese Funktion wurde in Qt 6.2 eingeführt.

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

Erstellt eine Instanz von ` QNativeGestureEvent`. Diese Funktion wurde gelöscht.

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

Gibt die seit dem letzten Ereignis zurückgelegte Strecke in Pixeln zurück. Eine Schwenkgeste liefert die Strecke in Pixeln, um die das Ziel-Widget, das Element oder der Inhalt des Ansichtsbereichs verschoben werden soll.

Diese Funktion wurde in Qt 6.2 eingeführt.

Siehe auch „ QPanGesture::delta()“.

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

Gibt die Anzahl der an der Geste beteiligten Finger zurück, sofern bekannt. Wenn „ gestureType()“ den Wert „ Qt::BeginNativeGesture “ oder „ Qt::EndNativeGesture “ zurückgibt, ist diese Information oft nicht bekannt, und „fingerCount()“ gibt „ 0 “ zurück.

Diese Funktion wurde in Qt 6.2 eingeführt.

Qt::NativeGestureType QNativeGestureEvent::gestureType() const

Gibt den Gestentyp zurück.

qreal QNativeGestureEvent::value() const

Gibt den Wert der Geste zurück. Der Wert sollte entsprechend dem Gestentyp interpretiert werden. Beispielsweise liefert eine Zoom-Geste eine Änderung des Skalierungsfaktors, während eine Drehgeste eine Drehung angibt.

Siehe auch QNativeGestureEvent und gestureType().

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

Weist „ other “ dieser „ QNativeGestureEvent “-Instanz zu. Diese Funktion wird gelöscht.

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

other Weist dieser Instanz von „ QNativeGestureEvent “ den Wert „ “ zu. “ zu.

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