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 .
此枚举描述如何接受可以自动取消其它手势的手势。
常量 | 值 | 描述 |
---|---|---|
QGesture::CancelNone
|
0
|
接受此手势时,其它手势不受影响。 |
QGesture::CancelAllInContext
|
1
|
接受此手势时,上下文中的所有活动手势 (考虑 Qt::GestureFlag 的指定,当订阅手势时) 将被取消。 |
此特性保持决定接受手势时会发生什么的策略
当接受一个手势时,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 |
此特性保持用于查找手势事件接收器的点。
热点是全局坐标系中的点,使用 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 |
构造新的手势对象采用给定 parent .
QGesture 对象是由手势识别器创建的在 QGestureRecognizer::create () 函数。
[虚拟]
QGesture::
~QGesture
()
销毁手势对象。