Spec-Zone.ru › Qt 5.13

Тип QML PinchHandler

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

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

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 — это обработчик, который интерпретирует жест с несколькими пальцами для интерактивного поворота, масштабирования и перетаскивания элемента. Как и другие обработчики ввода, по умолчанию он полностью функционален и управляет своим элементом target, который является элементом, в котором он объявлен.

import QtQuick 2.12

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

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

Если он объявлен внутри одного элемента, но ему присвоен другой элемент target, он обрабатывает события в пределах границ внешнего элемента, но манипулирует элементом 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

Коэффициент масштабирования во время выполнения жеста pinch. Он равен 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

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

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

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

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

Коэффициент масштабирования, который будет автоматически установлен для элемента target, если он не равен null. В противном случае, привязки могут использоваться для выполнения произвольных действий с этим значением. Во время выполнения жеста pinch он непрерывно умножается на activeScale; после окончания жеста он остается неизменным; и когда начинается новый жест pinch, он снова начинает умножаться на 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.13/qml-qtquick-pinchhandler.html

Spec-Zone.ru

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