Тип DragHandler QML
Обработчик перетаскивания. Подробнее...
| Заявление об импорте: | import QtQuick 2.13 |
| Наследует: |
Свойства
- translation : QVector2D
-
xAxis
- xAxis.minimum : real
- xAxis.maximum : real
- xAxis.enabled : bool
-
yAxis
- yAxis.minimum : real
- yAxis.maximum : real
- yAxis.enabled : bool
Подробное описание
DragHandler — это обработчик, используемый для интерактивного перемещения элемента. Как и другие обработчики ввода, по умолчанию он полностью функционален и управляет своим target.
import QtQuick 2.12
Rectangle {
width: 100
height: 100
color: "lightsteelblue"
DragHandler { }
} Он имеет свойства для ограничения диапазона перетаскивания.
Если он объявлен внутри одного элемента, но ему назначен другой target, то он обрабатывает события в пределах границ элемента parent, но управляет элементом target вместо этого:
import QtQuick 2.12
Item {
width: 640
height: 480
Rectangle {
id: feedback
border.color: "red"
width: Math.max(10, handler.centroid.ellipseDiameters.width)
height: Math.max(10, handler.centroid.ellipseDiameters.height)
radius: Math.max(width, height) / 2
visible: handler.active
}
DragHandler {
id: handler
target: feedback
}
} Третий способ использования заключается в установке target на null и реагирование на изменения свойств каким-то другим способом:
import QtQuick 2.12
Item {
width: 640
height: 480
DragHandler {
id: handler
target: null
}
Text {
color: handler.active ? "darkgreen" : "black"
text: handler.centroid.position.x.toFixed(1) + "," + handler.centroid.position.y.toFixed(1)
x: handler.centroid.position.x - width / 2
y: handler.centroid.position.y - height
}
} Если minimumPointCount и maximumPointCount установлены на значения больше 1, пользователю потребуется перетащить столько пальцев в одном направлении, чтобы начать перетаскивание. Жест перетаскивания несколькими пальцами может быть обнаружен независимо как от (стандартного) однопальцевого DragHandler, так и от PinchHandler на том же элементе, и поэтому может быть использован для корректировки какой-либо другой функции независимо от обычного поведения pinch: например, настройка преобразования наклона или настройка какого-либо другого числового значения, если target установлено в null. Но если target является элементом, centroid является точкой, в которой начинается перетаскивание, и к которой будет перемещён target (с учётом ограничений).
В настоящее время перетаскивание и размещение не поддерживаются.
Документация по свойствам
[только для чтения] translation : QVector2D
Смещение с момента начала жеста.
xAxis.minimum : real
xAxis управляет ограничениями для горизонтального перетаскивания.
minimum — минимальное приемлемое значение x, которое должно быть применено к target. maximum — максимальное приемлемое значение x, которое должно быть применено к target. Если enabled истинно, то горизонтальное перетаскивание разрешено.
yAxis.minimum : real
yAxis управляет ограничениями для вертикального перетаскивания.
minimum — минимальное приемлемое значение y, которое должно быть применено к target. maximum — максимальное приемлемое значение y, которое должно быть применено к target. Если enabled истинно, то вертикальное перетаскивание разрешено.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qml-qtquick-draghandler.html