QGesture Class

The QGesture class represents a gesture, containing properties that describe the corresponding user input. 更多...

头文件: #include <QGesture>
qmake: QT += widgets
开始支持版本: Qt 4.6
基类: QObject
派生类:

QPanGesture, QPinchGesture, QSwipeGesture, QTapAndHoldGesture, and 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()
  • 32 个公有函数继承自 QObject

其他继承的成员

  • 1 个公有槽函数继承自 QObject
  • 2 个信号继承自 QObject
  • 1 个公有变量继承自 QObject
  • 10 个静态公有成员继承自 QObject
  • 9 个受保护的函数继承自 QObject
  • 2 个受保护的变量继承自 QObject

详细描述

The QGesture class represents a gesture, containing properties that describe the corresponding user input.

Gesture objects are not constructed directly by developers. They are created by the QGestureRecognizer object that is registered with the application; see QGestureRecognizer::registerRecognizer().

For an overview of gesture handling in Qt and information on using gestures in your applications, see the Gestures in Widgets and Graphics View document.

Gesture Properties

The class has a list of properties that can be queried by the user to get some gesture-specific arguments. For example, the pinch gesture has a scale factor that is exposed as a property.

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

Lifecycle of a Gesture Object

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.

The registered gesture recognizer monitors the input events for the target object via its recognize() function, updating the properties of the gesture object as required.

The gesture object may be delivered to the target object in a QGestureEvent if the corresponding gesture is active or has just been canceled. Each event that is delivered contains a list of gesture objects, since support for more than one gesture may be enabled for the target object. Due to the way events are handled in Qt, gesture events may be filtered by other objects.

参见 QGestureEvent and QGestureRecognizer.

成员类型

enum QGesture::GestureCancelPolicy

This enum describes how accepting a gesture can cancel other gestures automatically.

ConstantValueDescription
QGesture::CancelNone0On accepting this gesture no other gestures will be affected.
QGesture::CancelAllInContext1On accepting this gesture all gestures that are active in the context (respecting the Qt::GestureFlag that were specified when subscribed to the gesture) will be cancelled.

属性

gestureCancelPolicy : QGesture::GestureCancelPolicy

This property holds the policy for deciding what happens on accepting a gesture

On accepting one gesture Qt can automatically cancel other gestures that belong to other targets. The policy is normally set to not cancel any other gestures and can be set to cancel all active gestures in the context. For example for all child widgets.

访问函数:

GestureCancelPolicy gestureCancelPolicy() const
void setGestureCancelPolicy(GestureCancelPolicy policy)

gestureType : const Qt::GestureType

This property holds the type of the gesture

访问函数:

Qt::GestureType gestureType() const

hasHotSpot : const bool

This property holds whether the gesture has a hot-spot

访问函数:

bool hasHotSpot() const

hotSpot : QPointF

This property holds the point that is used to find the receiver for the gesture event.

The hot-spot is a point in the global coordinate system, use QWidget::mapFromGlobal() or QGestureEvent::mapToGraphicsScene() to get a local hot-spot.

The hot-spot should be set by the gesture recognizer to allow gesture event delivery to a QGraphicsObject.

访问函数:

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

state : const Qt::GestureState

This property holds the current state of the gesture

访问函数:

Qt::GestureState state() const

成员函数

QGesture::QGesture(QObject *parent = Q_NULLPTR)

Constructs a new gesture object with the given parent.

QGesture objects are created by gesture recognizers in the QGestureRecognizer::create() function.

QGesture::~QGesture()

Destroys the gesture object.