QGesture 类

The QGesture 类表示包含描述相应用户输入特性的手势。 更多...

头: #include <QGesture>
qmake: QT += widgets
Since: Qt 4.6
继承: QObject
继承者: QPanGesture , QPinchGesture , QSwipeGesture , QTapAndHoldGesture ,和 QTapGesture

公共类型

enum GestureCancelPolicy { CancelNone, CancelAllInContext }

特性

公共函数

QGesture (QObject * parent = nullptr)
virtual ~QGesture ()
QGesture::GestureCancelPolicy gestureCancelPolicy () const
Qt::GestureType gestureType () const
bool hasHotSpot () const
QPointF hotSpot () const
void setGestureCancelPolicy (QGesture::GestureCancelPolicy policy )
void setHotSpot (const QPointF & value )
Qt::GestureState state () const
void unsetHotSpot ()

静态公共成员

const QMetaObject staticMetaObject

额外继承成员

详细描述

The QGesture 类表示包含描述相应用户输入特性的手势。

手势对象不是由开发者直接构造的。它们的创建是通过 QGestureRecognizer 对象由应用程序注册;见 QGestureRecognizer::registerRecognizer ().

Qt 中手势处理的概述和在应用程序中使用手势的有关信息,见 Widget 和图形视图中的手势 文档。

手势特性

拥有用户可查询特性列表的类,能获得一些特定手势自变量。例如,捏合手势拥有作为特性暴露的比例缩放因子。

自定义手势识别器的开发者可以添加额外特性,以提供有关手势的额外信息。这可以做到通过将新动态特性添加给 QGesture 对象,或通过子类化 QGesture 类 (或其子类之一)。

手势对象的生命周期

A QGesture 实例是隐式创建的 (当需要时) 且由 Qt 所有。开发者从不应该销毁它们 (或存储它们以供稍后使用),因为 Qt 可能销毁它们的特定实例并创建新的实例以替换它们。

注册手势识别器监视目标对象的输入事件凭借其 recognize() 函数,按要求更新手势对象特性。

可以将手势对象交付给目标对象在 QGestureEvent 若相应手势是活动的 (或刚被取消)。交付的每个事件都含有手势对象列表,因为目标对象可以启用支持一个以上手势。由于 Qt 处理事件的方式,手势事件可以被其它对象过滤掉。

另请参阅 QGestureEvent and QGestureRecognizer .

成员类型文档编制

enum QGesture:: GestureCancelPolicy

此枚举描述如何接受可以自动取消其它手势的手势。

常量 描述
QGesture::CancelNone 0 接受此手势时,其它手势不受影响。
QGesture::CancelAllInContext 1 接受此手势时,上下文中的所有活动手势 (考虑 Qt::GestureFlag 的指定,当订阅手势时) 将被取消。

特性文档编制

gestureCancelPolicy : QGesture::GestureCancelPolicy

此特性保持决定接受手势时会发生什么的策略

当接受一个手势时,Qt 可以自动取消属于其它目标的其它手势。策略通常设为不取消任何其它手势,且可以被设为取消上下文中的所有活动手势。例如,对于所有子级 Widget。

访问函数:

QGesture::GestureCancelPolicy gestureCancelPolicy () const
void setGestureCancelPolicy (QGesture::GestureCancelPolicy policy )

gestureType : const Qt::GestureType

此特性保持手势的类型

访问函数:

Qt::GestureType gestureType () const

hasHotSpot : const bool

此特性保持手势是否拥有热点

访问函数:

bool hasHotSpot () const

hotSpot : QPointF

此特性保持用于查找手势事件接收器的点。

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

应通过手势识别器设置热点,以允许将手势事件交付给 QGraphicsObject .

访问函数:

QPointF hotSpot () const
void setHotSpot (const QPointF & value )
void unsetHotSpot ()

state : const Qt::GestureState

此特性保持手势的当前状态

访问函数:

Qt::GestureState state () const

成员函数文档编制

QGesture:: QGesture ( QObject * parent = nullptr)

构造新的手势对象采用给定 parent .

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

[虚拟] QGesture:: ~QGesture ()

销毁手势对象。