- Qt 6.9
- Qt Widgets
- C++ Classes
- QPinchGesture
- Qt 6.9.3 Reference Documentation

# QPinchGesture Class

The QPinchGesture class describes a pinch gesture made by the user. More...

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

- List of all members, including inherited members

## Public Types

enum | ChangeFlag { ScaleFactorChanged, RotationAngleChanged, CenterPointChanged }
flags | ChangeFlags

## Properties

- centerPoint : QPointF
- changeFlags : ChangeFlags
- lastCenterPoint : QPointF
- lastRotationAngle : qreal
- lastScaleFactor : qreal
- rotationAngle : qreal

- scaleFactor : qreal
- startCenterPoint : QPointF
- totalChangeFlags : ChangeFlags
- totalRotationAngle : qreal
- totalScaleFactor : qreal

## Public Functions

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

## Detailed Description

A pinch gesture is a form of touch user input in which the user typically touches two points on the input device with a thumb and finger, before moving them closer together or further apart to change the scale factor, zoom, or level of detail of the user interface.

For an overview of gesture handling in Qt and information on using gestures in your applications, see the Gestures in Widgets and Graphics View document.

Instead of repeatedly applying the same pinching gesture, the user may continue to touch the input device in one place, and apply a second touch to a new point, continuing the gesture. When this occurs, gesture events will continue to be delivered to the target object, containing an instance of QPinchGesture in the Qt::GestureUpdated state.

See also QPanGesture and QSwipeGesture.

## Member Type Documentation

### enum QPinchGesture::ChangeFlag
flags QPinchGesture::ChangeFlags

This enum describes the changes that can occur to the properties of the gesture object.

Constant | Value | Description
--- | --- | ---
`QPinchGesture::ScaleFactorChanged` | `0x1` | The scale factor held by scaleFactor changed.
`QPinchGesture::RotationAngleChanged` | `0x2` | The rotation angle held by rotationAngle changed.
`QPinchGesture::CenterPointChanged` | `0x4` | The center point held by centerPoint changed.

The ChangeFlags type is a typedef for QFlags<ChangeFlag>. It stores an OR combination of ChangeFlag values.

See also changeFlags and totalChangeFlags.

## Property Documentation

### centerPoint : QPointF

This property holds the current center point

The center point is the midpoint between the two input points in the gesture.

Access functions:

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

See also startCenterPoint and lastCenterPoint.

### changeFlags : ChangeFlags

This property holds the property of the gesture that has changed in the current step

This property indicates which of the other properties has changed since the previous gesture event included information about this gesture. You can use this information to determine which aspect of your user interface needs to be updated.

Access functions:

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

See also totalChangeFlags, scaleFactor, rotationAngle, and centerPoint.

### lastCenterPoint : QPointF

This property holds the last position of the center point recorded for this gesture

Access functions:

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

See also centerPoint and startCenterPoint.

### lastRotationAngle : qreal

This property holds the last reported angle covered by the gesture motion

The last rotation angle is the angle as reported in the rotationAngle property when a previous gesture event was delivered for this gesture.

Access functions:

qreal | lastRotationAngle() const
void | setLastRotationAngle(qreal value)

See also rotationAngle and totalRotationAngle.

### lastScaleFactor : qreal

This property holds the last scale factor recorded for this gesture

The last scale factor contains the scale factor reported in the scaleFactor property when a previous gesture event included information about this gesture.

If no previous event was delivered with information about this gesture (i.e., this gesture object contains information about the first movement in the gesture) then this property contains zero.

Access functions:

qreal | lastScaleFactor() const
void | setLastScaleFactor(qreal value)

See also scaleFactor and totalScaleFactor.

### rotationAngle : qreal

This property holds the angle covered by the gesture motion

Access functions:

qreal | rotationAngle() const
void | setRotationAngle(qreal value)

See also totalRotationAngle and lastRotationAngle.

### scaleFactor : qreal

This property holds the current scale factor

The scale factor measures the scale factor associated with the distance between two of the user's inputs on a touch device.

Access functions:

qreal | scaleFactor() const
void | setScaleFactor(qreal value)

See also totalScaleFactor and lastScaleFactor.

### startCenterPoint : QPointF

This property holds the starting position of the center point

Access functions:

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

See also centerPoint and lastCenterPoint.

### totalChangeFlags : ChangeFlags

This property holds the property of the gesture that has change

This property indicates which of the other properties has changed since the gesture has started. You can use this information to determine which aspect of your user interface needs to be updated.

Access functions:

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

See also changeFlags, scaleFactor, rotationAngle, and centerPoint.

### totalRotationAngle : qreal

This property holds the total angle covered by the gesture

This total angle measures the complete angle covered by the gesture. Usually, this is equal to the value held by the rotationAngle property, except in the case where the user performs multiple rotations by removing and repositioning one of the touch points, as described above. In this case, the total angle will be the sum of the rotation angles for the multiple stages of the gesture.

Access functions:

qreal | totalRotationAngle() const
void | setTotalRotationAngle(qreal value)

See also rotationAngle and lastRotationAngle.

### totalScaleFactor : qreal

This property holds the total scale factor

The total scale factor measures the total change in scale factor from the original value to the current scale factor.

Access functions:

qreal | totalScaleFactor() const
void | setTotalScaleFactor(qreal value)

See also scaleFactor and lastScaleFactor.

## Member Function Documentation

### `[virtual noexcept]` QPinchGesture::~QPinchGesture()

Destructor.