QtQuick PinchArea

Enables simple pinch gesture handling

Import Statement: import QtQuick 2.4
Inherits: Item

Properties

  • enabled : bool
  • pinch
    • 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

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

See also PinchEvent.

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.