Auf dieser Seite

QPinchGesture Class

Die Klasse „QPinchGesture“ beschreibt eine vom Benutzer ausgeführte Pinch-Geste. Mehr...

Header: #include <QPinchGesture>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Erbt: QGesture

Öffentliche Typen

enum ChangeFlag { ScaleFactorChanged, RotationAngleChanged, CenterPointChanged }
flags ChangeFlags

Eigenschaften

Öffentliche Funktionen

virtual ~QPinchGesture()
QPointF centerPoint() const
QPinchGesture::ChangeFlags changeFlags() const
QPointF lastCenterPoint() const
qreal lastRotationAngle() const
qreal lastScaleFactor() const
qreal rotationAngle() const
qreal scaleFactor() const
void setCenterPoint(const QPointF &value)
void setChangeFlags(QPinchGesture::ChangeFlags value)
void setLastCenterPoint(const QPointF &value)
void setLastRotationAngle(qreal value)
void setLastScaleFactor(qreal value)
void setRotationAngle(qreal value)
void setScaleFactor(qreal value)
void setStartCenterPoint(const QPointF &value)
void setTotalChangeFlags(QPinchGesture::ChangeFlags value)
void setTotalRotationAngle(qreal value)
void setTotalScaleFactor(qreal value)
QPointF startCenterPoint() const
QPinchGesture::ChangeFlags totalChangeFlags() const
qreal totalRotationAngle() const
qreal totalScaleFactor() const

Ausführliche Beschreibung

Eine Pinch-Geste ist eine Form der Touch-Benutzereingabe, bei der der Benutzer in der Regel zwei Punkte auf dem Eingabegerät mit Daumen und Finger berührt und diese dann näher zusammen- oder weiter auseinanderbewegt, um den Skalierungsfaktor, den Zoom oder den Detaillierungsgrad der Benutzeroberfläche zu ändern.

Einen Überblick über die Gestenverarbeitung in Qt sowie Informationen zur Verwendung von Gesten in Ihren Anwendungen finden Sie im Dokument „Gesten in Widgets und der Grafikansicht “.

Demonstration der Pinch-Geste mit zwei Fingern

Anstatt dieselbe Pinch-Geste wiederholt auszuführen, kann der Benutzer das Eingabegerät weiterhin an einer Stelle berühren und eine zweite Berührung an einer neuen Stelle ausführen, um die Geste fortzusetzen. In diesem Fall werden weiterhin Gestenereignisse an das Zielobjekt übermittelt, die eine Instanz von `QPinchGesture` im Zustand „ Qt::GestureUpdated “ enthalten.

Siehe auch „ QPanGesture “ und „ QSwipeGesture “.

Dokumentation zu Mitgliedstypen

enum QPinchGesture::ChangeFlag
flags QPinchGesture::ChangeFlags

Diese Enumeration beschreibt die Änderungen, die an den Eigenschaften des Gestenobjekts auftreten können.

KonstanteWertBeschreibung
QPinchGesture::ScaleFactorChanged0x1Der von „ scaleFactor “ gespeicherte Skalierungsfaktor hat sich geändert.
QPinchGesture::RotationAngleChanged0x2Der von „ rotationAngle “ gespeicherte Drehwinkel hat sich geändert.
QPinchGesture::CenterPointChanged0x4Der von „ centerPoint “ gespeicherte Mittelpunkt hat sich geändert.

Der Typ „ChangeFlags“ ist ein typedef für „QFlags<ChangeFlag>“. Er speichert eine ODER-Verknüpfung von „ChangeFlag“-Werten.

Siehe auch „ changeFlags “ und „ totalChangeFlags “.

Eigenschaftsdokumentation

centerPoint : QPointF

Diese Eigenschaft enthält den aktuellen Mittelpunkt

Der Mittelpunkt ist der Mittelpunkt zwischen den beiden Eingabepunkten der Geste.

Zugriffsfunktionen:

QPointF centerPoint() const
void setCenterPoint(const QPointF &value)

Siehe auch startCenterPoint und lastCenterPoint.

changeFlags : ChangeFlags

Diese Eigenschaft enthält die Eigenschaft der Geste, die sich im aktuellen Schritt geändert hat

Diese Eigenschaft gibt an, welche der anderen Eigenschaften sich geändert hat, seit das letzte Gestenereignis Informationen zu dieser Geste enthielt. Anhand dieser Informationen können Sie feststellen, welcher Aspekt Ihrer Benutzeroberfläche aktualisiert werden muss.

Zugriffsfunktionen:

QPinchGesture::ChangeFlags changeFlags() const
void setChangeFlags(QPinchGesture::ChangeFlags value)

Siehe auch „ totalChangeFlags“ , „ scaleFactor “, „ rotationAngle “ und „ centerPoint “.

lastCenterPoint : QPointF

Diese Eigenschaft enthält die letzte Position des Mittelpunktes, die für diese Geste aufgezeichnet wurde

Zugriffsfunktionen:

QPointF lastCenterPoint() const
void setLastCenterPoint(const QPointF &value)

Siehe auch centerPoint und startCenterPoint.

lastRotationAngle : qreal

Diese Eigenschaft enthält den zuletzt gemeldeten Winkel, der durch die Gestenbewegung abgedeckt wurde

Der letzte Drehwinkel ist der Winkel, der in der Eigenschaft „ rotationAngle “ gemeldet wurde, als ein vorheriges Gestenereignis für diese Geste übermittelt wurde.

Zugriffsfunktionen:

qreal lastRotationAngle() const
void setLastRotationAngle(qreal value)

Siehe auch „ rotationAngle “ und „ totalRotationAngle “.

lastScaleFactor : qreal

Diese Eigenschaft enthält den zuletzt für diese Geste gespeicherten Skalierungsfaktor

Der letzte Skalierungsfaktor enthält den Skalierungsfaktor, der in der Eigenschaft „ scaleFactor “ gemeldet wurde, als ein vorheriges Gestenereignis Informationen zu dieser Geste enthielt.

Wenn kein vorheriges Ereignis mit Informationen zu dieser Geste übermittelt wurde (d. h., dieses Gestenobjekt enthält Informationen zur ersten Bewegung der Geste), enthält diese Eigenschaft den Wert Null.

Zugriffsfunktionen:

qreal lastScaleFactor() const
void setLastScaleFactor(qreal value)

Siehe auch „ scaleFactor “ und „ totalScaleFactor “.

rotationAngle : qreal

Diese Eigenschaft gibt den Winkel an, den die Geste abdeckt

Zugriffsfunktionen:

qreal rotationAngle() const
void setRotationAngle(qreal value)

Siehe auch totalRotationAngle und lastRotationAngle.

scaleFactor : qreal

Diese Eigenschaft enthält den aktuellen Skalierungsfaktor

Der Skalierungsfaktor misst den Skalierungsfaktor, der mit dem Abstand zwischen zwei Benutzereingaben auf einem Touch-Gerät verbunden ist.

Zugriffsfunktionen:

qreal scaleFactor() const
void setScaleFactor(qreal value)

Siehe auch totalScaleFactor und lastScaleFactor.

startCenterPoint : QPointF

Diese Eigenschaft enthält die Startposition des Mittelpunkts

Zugriffsfunktionen:

QPointF startCenterPoint() const
void setStartCenterPoint(const QPointF &value)

Siehe auch centerPoint und lastCenterPoint.

totalChangeFlags : ChangeFlags

Diese Eigenschaft enthält die Eigenschaft der Geste, die sich geändert hat

Diese Eigenschaft gibt an, welche der anderen Eigenschaften sich seit Beginn der Geste geändert hat. Anhand dieser Information können Sie feststellen, welcher Aspekt Ihrer Benutzeroberfläche aktualisiert werden muss.

Zugriffsfunktionen:

QPinchGesture::ChangeFlags totalChangeFlags() const
void setTotalChangeFlags(QPinchGesture::ChangeFlags value)

Siehe auch changeFlags, scaleFactor, rotationAngle und centerPoint.

totalRotationAngle : qreal

Diese Eigenschaft gibt den Gesamtwinkel an, den die Geste abdeckt

Dieser Gesamtwinkel misst den gesamten Winkel, der durch die Geste abgedeckt wird. In der Regel entspricht er dem Wert der Eigenschaft „ rotationAngle “, außer in dem Fall, in dem der Benutzer mehrere Drehungen durchführt, indem er einen der Berührungspunkte entfernt und neu positioniert, wie oben beschrieben. In diesem Fall entspricht der Gesamtwinkel der Summe der Drehwinkel für die verschiedenen Phasen der Geste.

Zugriffsfunktionen:

qreal totalRotationAngle() const
void setTotalRotationAngle(qreal value)

Siehe auch „ rotationAngle “ und „ lastRotationAngle “.

totalScaleFactor : qreal

Diese Eigenschaft enthält den Gesamtskalierungsfaktor

Der Gesamtskalierungsfaktor misst die gesamte Änderung des Skalierungsfaktors vom ursprünglichen Wert bis zum aktuellen Skalierungsfaktor.

Zugriffsfunktionen:

qreal totalScaleFactor() const
void setTotalScaleFactor(qreal value)

Siehe auch „ scaleFactor “ und „ lastScaleFactor “.

Dokumentation der Member-Funktionen

[virtual noexcept] QPinchGesture::~QPinchGesture()

Destruktor.

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