QPinchGesture Class

QPinchGesture 类描述了用户做出的捏合手势。更多

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

公共类型

enum ChangeFlag { ScaleFactorChanged, RotationAngleChanged, CenterPointChanged }
flags ChangeFlags

属性

公共功能

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

详细说明

捏合手势是一种触摸用户输入形式,用户通常用拇指和手指触摸输入设备上的两个点,然后将它们移近或移远,以改变用户界面的比例系数、缩放或细节级别。

有关 Qt 中手势处理的概述以及在应用程序中使用手势的信息,请参阅《Widgets 和图形视图中的手势》文档。

用户可以在一个地方继续触摸输入设备,然后在一个新的点上进行第二次触摸,继续手势操作,而不是重复应用同一个捏合手势。出现这种情况时,手势事件将继续传递到目标对象,其中包含一个处于Qt::GestureUpdated 状态的 QPinchGesture 实例。

另请参阅 QPanGestureQSwipeGesture

成员类型文档

枚举 QPinchGesture::ChangeFlag
flags QPinchGesture::ChangeFlags

该枚举描述了手势对象属性可能发生的变化。

常量描述
QPinchGesture::ScaleFactorChanged0x1scaleFactor 保存的缩放因子发生变化。
QPinchGesture::RotationAngleChanged0x2rotationAngle 保存的旋转角度发生变化。
QPinchGesture::CenterPointChanged0x4centerPoint 持有的中心点已更改。

ChangeFlags 类型是QFlags<ChangeFlag> 的类型定义。它存储 ChangeFlag 值的 OR 组合。

另请参阅 changeFlagstotalChangeFlags

属性文档

centerPoint : QPointF

该属性保存当前的中心点

中心点是手势中两个输入点之间的中点。

访问功能:

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

另请参阅 startCenterPointlastCenterPoint

changeFlags : ChangeFlags

该属性包含当前步骤中发生变化的手势属性。

该属性表示自上一个手势事件包含该手势信息以来,其他哪些属性发生了变化。您可以使用该信息来确定用户界面的哪个方面需要更新。

访问功能:

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

另请参阅 totalChangeFlags,scaleFactor,rotationAnglecenterPoint

lastCenterPoint : QPointF

此属性保存为该手势记录的中心点的最后位置

访问功能:

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

另请参阅 centerPointstartCenterPoint

lastRotationAngle : qreal

该属性保留了手势运动最后报告的角度。

上一次旋转角度为rotationAngle 属性中报告的角度,当时该手势的上一个手势事件已经发布。

访问功能:

qreal lastRotationAngle() const
void setLastRotationAngle(qreal value)

另请参阅 rotationAngletotalRotationAngle

lastScaleFactor : qreal

此属性包含此手势最后记录的比例因子

最后一个比例因子包含scaleFactor 属性中报告的比例因子,当时前一个手势事件包含有关此手势的信息。

如果之前没有任何事件包含此手势的信息(即此手势对象包含手势中第一个动作的信息),则此属性为零。

访问功能:

qreal lastScaleFactor() const
void setLastScaleFactor(qreal value)

另请参见 scaleFactortotalScaleFactor

rotationAngle : qreal

该属性保留手势动作所覆盖的角度

访问功能:

qreal rotationAngle() const
void setRotationAngle(qreal value)

另请参阅 totalRotationAnglelastRotationAngle

scaleFactor : qreal

该属性保存当前的比例因子

缩放因子用于测量与用户在触摸设备上的两个输入之间的距离相关的缩放因子。

访问功能:

qreal scaleFactor() const
void setScaleFactor(qreal value)

另请参阅 totalScaleFactorlastScaleFactor

startCenterPoint : QPointF

此属性保存中心点的起始位置

访问功能:

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

另请参阅 centerPointlastCenterPoint

totalChangeFlags : ChangeFlags

该属性表示手势中发生变化的属性。

该属性表示手势开始后其他哪些属性发生了变化。您可以使用此信息来确定用户界面的哪个方面需要更新。

访问功能:

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

另请参阅 changeFlags,scaleFactor,rotationAngle, 和centerPoint

totalRotationAngle : qreal

该属性表示手势覆盖的总角度

该总角度测量手势覆盖的全部角度。通常,它等于rotationAngle 属性的值,除非如上所述,用户通过移除和重新定位其中一个触摸点来执行多次旋转。在这种情况下,总角度将是手势多个阶段的旋转角度之和。

访问功能:

qreal totalRotationAngle() const
void setTotalRotationAngle(qreal value)

另请参见 rotationAnglelastRotationAngle

totalScaleFactor : qreal

该属性保存总比例因子

总比例因子用于度量比例因子从原始值到当前比例因子的总变化。

访问函数:

qreal totalScaleFactor() const
void setTotalScaleFactor(qreal value)

另请参阅 scaleFactorlastScaleFactor

成员函数文档

[virtual noexcept] QPinchGesture::~QPinchGesture()

毁灭者

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