Тип QML PinchHandler
Обработчик жестов пинцета. Подробнее...
| Заявление об импорте: | import QtQuick 2.12 |
| Наследует: |
Свойства
- 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