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 ()

銷毀手勢對象。