Spec-Zone.ru › Qt 5.12

Тип QML PinchHandler

Обработчик жестов пинцета. Подробнее...

Заявление об импорте: import QtQuick 2.12
Наследует:

MultiPointHandler

  • Список всех членов, включая унаследованные

Свойства

  • active : bool
  • activeScale : real
  • centroid : QtQuick::HandlerPoint
  • maximumRotation : real
  • maximumScale : real
  • minimumRotation : real
  • minimumScale : real
  • minimumTouchPoints : int
  • rotation : real
  • scale : real
  • translation : QVector2D
  • xAxis
    • xAxis.minimum : real
    • xAxis.maximum : real
    • xAxis.enabled : bool
  • yAxis
    • yAxis.minimum : real
    • yAxis.maximum : real
    • yAxis.enabled : bool

Подробное описание

PinchHandler — это обработчик, интерпретирующий многопальцевый жест для интерактивного вращения, масштабирования и перетаскивания элемента Item. Как и другие обработчики ввода, по умолчанию он полностью функционален и манипулирует своим target, который является элементом Item, в котором он объявлен.

import QtQuick 2.12

Rectangle {
    width: 400
    height: 300
    color: "lightsteelblue"
    PinchHandler { }
}

У него есть свойства для ограничения диапазона перетаскивания, вращения и масштабирования.

Если он объявлен внутри одного элемента Item, но ему назначен другой target, он обрабатывает события в пределах границ внешнего элемента Item, но манипулирует target элементом вместо этого:

import QtQuick 2.12

Item {
    width: 640
    height: 480

    Rectangle {
        id: map
        color: "aqua"
        width: 400
        height: 300
    }

    PinchHandler {
        target: map
    }
}

Третий способ его использования заключается в установке target в null и реагировании на изменения свойств каким-либо другим способом:

import QtQuick 2.12

Item {
    width: 640
    height: 480

    PinchHandler {
        id: handler
        target: null
    }

    Text {
        color: handler.active ? "darkgreen" : "black"
        text: handler.rotation.toFixed(1) + " degrees\n" +
              handler.translation.x.toFixed(1) + ", " + handler.translation.y.toFixed(1) + "\n" +
              (handler.scale * 100).toFixed(1) + "%"
    }
}

См. также PinchArea.

Документация по свойствам

active : bool

Это свойство имеет значение true, когда все ограничения (особенно minimumTouchPoints) выполнены и target, если таковой имеется, находится в процессе манипулирования.

[только для чтения] activeScale : real

Коэффициент масштабирования во время выполнения жеста пинцета. Он равен 1,0 в начале жеста, увеличивается при разведении точек касания и уменьшается при сближении точек касания. Если target не равен null, его свойство scale будет автоматически умножаться на это значение. В противном случае, привязки могут использоваться для выполнения произвольных действий с этим значением.

[только для чтения] centroid : QtQuick::HandlerPoint

Точка, расположенная точно посередине между текущими точками касания. target будет вращаться вокруг этой точки.

maximumRotation : real

Максимальное допустимое значение rotation для применения к target.

maximumScale : real

Максимальное допустимое значение scale для применения к target.

minimumRotation : real

Минимальное допустимое значение rotation для применения к target.

minimumScale : real

Минимальное допустимое значение scale для применения к target.

minimumTouchPoints : int

Жест пинцета начинается, когда количество пальцев, находящихся в контакте, достигает этого значения. До этого момента PinchHandler отслеживает позиции всех нажатых пальцев, но если их недостаточно, он не изменяет масштаб или поворот своего target, и свойство active останется false.

[только для чтения] rotation : real

Поворот жеста пинцета в градусах, положительные значения — по часовой стрелке. Он равен 0 в начале жеста. Если target не равен null, это значение будет автоматически применено к его свойству rotation. В противном случае, привязки могут использоваться для выполнения произвольных действий с этим значением.

[только для чтения] scale : real

Коэффициент масштабирования, который будет автоматически установлен для target, если он не равен null. В противном случае, привязки могут использоваться для выполнения произвольных действий с этим значением. Во время выполнения жеста пинцета он непрерывно умножается на activeScale; после окончания жеста он остается неизменным; а когда начинается новый жест пинцета, он снова начинает умножаться на activeScale.

[только для чтения] translation : QVector2D

Смещение центра жеста centroid. Он равен (0, 0) в начале жеста.

xAxis.minimum : real

xAxis контролирует ограничения для горизонтального смещения элемента target.

minimum — минимальное допустимое значение x координаты смещения. maximum — максимальное допустимое значение x координаты смещения. Если enabled равно true, разрешено горизонтальное перетаскивание.

yAxis.minimum : real

yAxis контролирует ограничения для вертикального смещения элемента target.

minimum — минимальное допустимое значение y координаты смещения. maximum — максимальное допустимое значение y координаты смещения. Если enabled равно true, разрешено вертикальное перетаскивание.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qml-qtquick-pinchhandler.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API