The QGesture 类表示包含描述相应用户输入特性的手势。 更多...
头: | #include <QGesture> |
qmake: | QT += widgets |
Since: | Qt 4.6 |
继承: | QObject |
继承者: | QPanGesture , QPinchGesture , QSwipeGesture , QTapAndHoldGesture ,和 QTapGesture |
enum | GestureCancelPolicy { CancelNone, CancelAllInContext } |
|
QGesture (QObject * parent = Q_NULLPTR) | |
~QGesture () | |
GestureCancelPolicy | gestureCancelPolicy () const |
Qt::GestureType | gestureType () const |
bool | hasHotSpot () const |
QPointF | hotSpot () const |
void | setGestureCancelPolicy (GestureCancelPolicy policy ) |
void | setHotSpot (const QPointF & value ) |
Qt::GestureState | state () const |
void | unsetHotSpot () |
The QGesture 类表示包含描述相应用户输入特性的手势。
手势对象不是由开发者直接构造的。它们的创建是通过 QGestureRecognizer 对象由应用程序注册;见 QGestureRecognizer::registerRecognizer ().
Qt 中手势处理的概述和在应用程序中使用手势的有关信息,见 Widget 和图形视图中的手势 文档。
拥有用户可查询特性列表的类,能获得一些特定手势自变量。例如,捏合手势拥有作为特性暴露的比例缩放因子。
自定义手势识别器的开发者可以添加额外特性,以提供有关手势的额外信息。这可以做到通过将新动态特性添加给 QGesture 对象,或通过子类化 QGesture 类 (或其子类之一)。
A QGesture 实例是隐式创建的 (当需要时) 且由 Qt 所有。开发者从不应该销毁它们 (或存储它们以供稍后使用),因为 Qt 可能销毁它们的特定实例并创建新的实例以替换它们。
注册手势识别器监视目标对象的输入事件凭借其 recognize() 函数,按要求更新手势对象特性。
可以将手势对象交付给目标对象在 QGestureEvent 若相应手势是活动的 (或刚被取消)。交付的每个事件都含有手势对象列表,因为目标对象可以启用支持一个以上手势。由于 Qt 处理事件的方式,手势事件可以被其它对象过滤掉。
另请参阅 QGestureEvent and QGestureRecognizer .
此枚举描述如何接受可以自动取消其它手势的手势。
常量 | 值 | 描述 |
---|---|---|
QGesture::CancelNone
|
0
|
接受此手势时,其它手势不受影响。 |
QGesture::CancelAllInContext
|
1
|
接受此手势时,上下文中的所有活动手势 (考虑 Qt::GestureFlag 的指定,当订阅手势时) 将被取消。 |
此特性保持决定接受手势时会发生什么的策略
当接受一个手势时,Qt 可以自动取消属于其它目标的其它手势。策略通常设为不取消任何其它手势,且可以被设为取消上下文中的所有活动手势。例如,对于所有子级 Widget。
访问函数:
GestureCancelPolicy | gestureCancelPolicy () const |
void | setGestureCancelPolicy (GestureCancelPolicy policy ) |
此特性保持手势的类型
访问函数:
Qt::GestureType | gestureType () const |
此特性保持手势是否拥有热点
访问函数:
bool | hasHotSpot () const |
此特性保持用于查找手势事件接收器的点。
热点是全局坐标系中的点,使用 QWidget::mapFromGlobal () 或 QGestureEvent::mapToGraphicsScene () 获取局部热点。
应通过手势识别器设置热点,以允许将手势事件交付给 QGraphicsObject .
访问函数:
QPointF | hotSpot () const |
void | setHotSpot (const QPointF & value ) |
void | unsetHotSpot () |
此特性保持手势的当前状态
访问函数:
Qt::GestureState | state () const |
构造新的手势对象采用给定 parent .
QGesture 对象是由手势识别器创建的在 QGestureRecognizer::create () 函数。
销毁手势对象。