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