New in version 4.6.
Gesture recognizers are responsible for creating and managing
QGesture objects and monitoring input events sent to
QGestureRecognizer is the base class for implementing custom gestures.
Developers that only need to provide gesture recognition for standard gestures do not need to use this class directly. Instances will be created behind the scenes by the framework.
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.
The process of recognizing gestures involves filtering input events sent to specific objects, and modifying the associated
QGesture objects to include relevant information about the user’s input.
Gestures are created when the framework calls
create() to handle user input for a particular instance of a
QGraphicsObject subclass. A
QGesture object is created for each widget or item that is configured to use gestures.
QGesture has been created for a target object, the gesture recognizer will receive events for it in its handler function.
Supporting New Gestures¶
To add support for new gestures, you need to derive from
QGestureRecognizer to create a custom recognizer class, construct an instance of this class, and register it with the application by calling
registerRecognizer() . You can also subclass
QGesture to create a custom gesture class, or rely on dynamic properties to express specific details of the gesture you want to handle.
QGestureRecognizer subclass needs to reimplement the function to handle and filter the incoming input events for
QGraphicsObject subclasses. Although the logic for gesture recognition is implemented in this function, you can store persistent information about the state of the recognition process in the
QGesture object supplied. The function must return a value of
Result that indicates the state of recognition for a given gesture and target object. This determines whether or not a gesture event will be delivered to a target object.
If you choose to represent a gesture by a custom
QGesture subclass, you will need to reimplement the
create() function to construct instances of your gesture class. Similarly, you may need to reimplement the
reset() function if your custom gesture objects need to be specially handled when a gesture is canceled.
- class PySide6.QtWidgets.QGestureRecognizer¶
Constructs a new gesture recognizer object.
This enum describes the result of the current event filtering step in a gesture recognizer state machine.
The result consists of a state value (one of Ignore, , , , ) and an optional hint ().
The event does not change the state of the recognizer.
The event changed the internal state of the recognizer, but it isn’t clear yet if it is a gesture or not. The recognizer needs to filter more events to decide. Gesture recognizers in the state may be reset automatically if they take too long to recognize gestures.
The event made it clear that it is not a gesture. If the gesture recognizer was in GestureTriggered state before, then the gesture is canceled and the appropriate
QGestureobject will be delivered to the target as a part of a
This hint specifies that the gesture framework should consume the filtered event and not deliver it to the receiver.
Reimplement this function to create a custom
QGesture -derived gesture object if necessary.
The application takes ownership of the created gesture object.
- PySide6.QtWidgets.QGestureRecognizer.recognize(state, watched, event)¶
- static PySide6.QtWidgets.QGestureRecognizer.registerRecognizer(recognizer)¶
Registers the given
recognizer in the gesture framework and returns a gesture ID for it.
The application takes ownership of the
recognizer and returns the gesture type ID associated with it. For gesture recognizers which handle custom
QGesture objects (i.e., those which return
CustomGesture in a
gestureType() function) the return value is a generated gesture ID with the
CustomGesture flag set.
This function is called by the framework to reset a given
Reimplement this function to implement additional requirements for custom
QGesture objects. This may be necessary if you implement a custom
QGesture whose properties need special handling when the gesture is reset.
- static PySide6.QtWidgets.QGestureRecognizer.unregisterRecognizer(type)¶
Unregisters all gesture recognizers of the specified
© 2021 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.