QGesture 类

The QGesture class represents a gesture, containing properties that describe the corresponding user input. More...

头文件 #include <QGesture>
CMakefind_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmakeQT += widgets
继承 QObject
继承自

QPanGesture, QPinchGesture, QSwipeGesture, QTapAndHoldGesture, and QTapGesture

公共类型

枚举GestureCancelPolicy { CancelNone, CancelAllInContext }

属性

公共函数

QGesture(QObject *parent = nullptr)
virtual~QGesture()
QGesture::GestureCancelPolicygestureCancelPolicy() const
Qt::GestureTypegestureType() const
boolhasHotSpot() const
QPointFhotSpot() const
voidsetGestureCancelPolicy(QGesture::GestureCancelPolicy policy)
voidsetHotSpot(const QPointF &value)
Qt::GestureStatestate() const
voidunsetHotSpot()

详细说明

手势对象不是由开发者直接构建的。它们是由与应用程序注册的 QGestureRecognizer 对象创建的;请参阅 QGestureRecognizer::registerRecognizer

有关 Qt 中的手势处理概述以及有关在您的应用程序中使用手势的信息,请参阅 Widgets 和 Graphics View 中的手势 文档。

手势属性

该类有一个属性列表,用户可以通过它查询一些特定于手势的参数。例如,捏合手势有一个比例因子,作为属性公开。

自定义手势识别器的开发者可以添加额外的属性,以提供有关手势的更多信息。这可以通过向 QGesture 对象添加新的动态属性,或者通过继承 QGesture 类(或其任何子类)来实现。

手势对象的生命周期

当需要时,会隐式创建 QGesture 实例,并由 Qt 拥有。开发人员永远不应该销毁它们或将它们存储以供将来使用,因为 Qt 可能会销毁它们的特定实例并创建新的实例来替换它们。

已注册的手势识别器通过其 recognize() 函数监控目标对象的输入事件,根据需要更新手势对象的属性。

如果相应的手势处于活动状态或刚刚被取消,手势对象可以以 QGestureEvent 的形式传递给目标对象。传递的每个事件都包含一个手势对象列表,因为可能为目标对象启用了对多个手势的支持。由于在 Qt 中处理事件的方式,手势事件可能会被其他对象过滤。

另请参阅QGestureEventQGestureRecognizer

成员类型文档

枚举 QGesture::GestureCancelPolicy

此枚举描述了如何接受手势来自动取消其他手势。

常量描述
QGesture::CancelNone0接受此手势时,不会影响任何其他手势。
QGesture::CancelAllInContext1接受此手势时,将取消上下文中所有活动的手势(尊重在订阅手势时指定的 Qt::GestureFlag)。

属性文档

gestureCancelPolicy : QGesture::GestureCancelPolicy

此属性包含在接受手势时发生什么的策略

接受一个手势时,Qt 可以自动取消属于其他目标的其他手势。策略通常设置为不取消任何其他手势,并可以设置为取消上下文中所有活动的手势。例如,对于所有子小部件。

访问函数

QGesture::GestureCancelPolicygestureCancelPolicy() const
voidsetGestureCancelPolicy(QGesture::GestureCancelPolicy policy)

[只读] gestureType : const Qt::GestureType

此属性包含手势的类型

访问函数

Qt::GestureTypegestureType() const

[只读] hasHotSpot : const bool

此属性包含手势是否具有热点

访问函数

boolhasHotSpot() const

hotSpot : QPointF

此属性包含用于查找接收器的事件的定点

热点是全局坐标系中的一个点,使用 QWidget::mapFromGlobal() 或 QGestureEvent::mapToGraphicsScene() 获取局部热点。

热点应由手势识别器设置,以便允许手势事件传递到 QGraphicsObject

访问函数

QPointFhotSpot() const
voidsetHotSpot(const QPointF &value)
voidunsetHotSpot()

[只读] 状态 : const Qt::GestureState

该属性保存手势的当前状态

访问函数

Qt::GestureState状态() const

成员函数文档

[显式构造] QGesture::QGesture(QObject *parent = nullptr)

使用给定的 父对象 构造一个新的手势对象。

QGesture 对象由手势识别器在 QGestureRecognizer::create() 函数中创建。

[虚拟 noexcept] QGesture::~QGesture()

销毁手势对象。

© 2024 The Qt Company Ltd. 本文档中包含的贡献的版权属于各自的拥有者。本提供的文档是根据自由软件基金会发布并由其受版权保护的自由文档许可证版本 1.3 条款许可的。Qt 和相应的标志是芬兰以及/或其他国家/地区的 The Qt Company Ltd. 的商标。所有其他商标均属于其各自的拥有者。