QGesture 类

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

头: #include <QGesture>
CMake: find_package(Qt6 COMPONENTS Widgets REQUIRED)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
继承: 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 ()

详细描述

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

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

手势特性

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

Developers of custom gesture recognizers can add additional properties in order to provide additional information about a gesture. This can be done by adding new dynamic properties to a QGesture object, or by subclassing the QGesture class (or one of its subclasses).

手势对象的生命周期

A QGesture instance is implicitly created when needed and is owned by Qt. Developers should never destroy them or store them for later use as Qt may destroy particular instances of them and create new ones to replace them.

注册手势识别器监视目标对象的输入事件凭借其 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 )

[read-only] gestureType : const Qt::GestureType

此特性保持手势的类型

访问函数:

Qt::GestureType gestureType () const

[read-only] hasHotSpot : const bool

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

访问函数:

bool hasHotSpot () const

hotSpot : QPointF

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

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

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

访问函数:

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

[read-only] state : const Qt::GestureState

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

访问函数:

Qt::GestureState state () const

成员函数文档编制

QGesture:: QGesture ( QObject * parent = nullptr)

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

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

[virtual] QGesture:: ~QGesture ()

销毁手势对象。