PinchArea QML Type

Enables simple pinch gesture handling More...

Import Statement: import QtQuick 2.7
Inherits:

Item

Properties

Signals

Detailed Description

The PinchArea type was added in QtQuick 1.1

A PinchArea is an invisible item that is typically used in conjunction with a visible item in order to provide pinch gesture handling for that item.

The enabled property is used to enable and disable pinch handling for the proxied item. When disabled, the pinch area becomes transparent to mouse/touch events.

PinchArea can be used in two ways:

  • setting a pinch.target to provide automatic interaction with an item
  • using the onPinchStarted, onPinchUpdated and onPinchFinished handlers

Since Qt 5.5, PinchArea can react to native pinch gesture events from the operating system if available; otherwise it reacts only to touch events.

See also PinchEvent, QNativeGestureEvent, and QTouchEvent.

Property Documentation

enabled : bool

This property holds whether the item accepts pinch gestures.

This property defaults to true.


pinch group

pinch.target : Item

pinch.active : bool

pinch.minimumScale : real

pinch.maximumScale : real

pinch.minimumRotation : real

pinch.maximumRotation : real

pinch.dragAxis : enumeration

pinch.minimumX : real

pinch.maximumX : real

pinch.minimumY : real

pinch.maximumY : real

pinch provides a convenient way to make an item react to pinch gestures.

  • pinch.target specifies the id of the item to drag.
  • pinch.active specifies if the target item is currently being dragged.
  • pinch.minimumScale and pinch.maximumScale limit the range of the Item.scale property, but not the PinchEvent scale property.
  • pinch.minimumRotation and pinch.maximumRotation limit the range of the Item.rotation property, but not the PinchEvent rotation property.
  • pinch.dragAxis specifies whether dragging in not allowed (Pinch.NoDrag), can be done horizontally (Pinch.XAxis), vertically (Pinch.YAxis), or both (Pinch.XAndYAxis)
  • pinch.minimum and pinch.maximum limit how far the target can be dragged along the corresponding axes.

Signal Documentation

pinchFinished()

This signal is emitted when the pinch area detects that a pinch gesture has finished.

The pinch parameter (not the same as the pinch property) provides information about the pinch gesture, including the scale, center and angle of the pinch.

The corresponding handler is onPinchFinished.


pinchStarted()

This signal is emitted when the pinch area detects that a pinch gesture has started: two touch points (fingers) have been detected, and they have moved beyond the startDragDistance threshold for the gesture to begin.

The pinch parameter (not the same as the pinch property) provides information about the pinch gesture, including the scale, center and angle of the pinch. At the time of the pinchStarted signal, these values are reset to the default values, regardless of the results from previous gestures: pinch.scale will be 1.0 and pinch.rotation will be 0.0. As the gesture progresses, pinchUpdated will report the deviation from those defaults.

To ignore this gesture set the pinch.accepted property to false. The gesture will be canceled and no further events will be sent.

The corresponding handler is onPinchStarted.


pinchUpdated()

This signal is emitted when the pinch area detects that a pinch gesture has changed.

The pinch parameter provides information about the pinch gesture, including the scale, center and angle of the pinch. These values reflect changes only since the beginning of the current gesture, and therefore are not limited by the minimum and maximum limits in the pinch property.

The corresponding handler is onPinchUpdated.


smartZoom()

This signal is emitted when the pinch area detects the smart zoom gesture. This gesture occurs only on certain operating systems such as macOS.

The pinch parameter provides information about the pinch gesture, including the location where the gesture occurred. pinch.scale will be greater than zero when the gesture indicates that the user wishes to enter smart zoom, and zero when exiting (even though typically the same gesture is used to toggle between the two states).

The corresponding handler is onSmartZoom.

This QML signal was introduced in Qt 5.5.