Высота / ширина печати QML во время перетаскивания
Я хочу иметь возможность печатать высоту / ширину Flickable
вид при перетаскивании. Я считаю, что это можно сделать с помощью onDraggingChanged
или же onMovingChanged
, так как похожий слушатель событий onTextChanged
выполняет прослушивание изменений текста в текстовых элементах управления. Я попробовал это:
Flickable{
id: flick
height: parent.height - 40
width: parent.width - 40
anchors.bottom: parent.bottom
anchors.right: parent.right
anchors.margins: 20
flickableDirection: Flickable.HorizontalAndVerticalFlick
Rectangle{
anchors.fill: parent
color: "steelblue"
}
onMovingChanged: {
console.log("onMovingChanged")
console.log("height:", height)
}
onDraggingChanged: {
console.log("onDraggingChanged")
console.log("height:", height)
}
}
Но эти слушатели событий будут печатать только высоту в начале и конце перетаскивания / перемещения. Так как мне этого добиться?
1 ответ
Решение
Я верю Flickable.contentXChanged
а также Flickable.contentYChanged
сигналы это то, что вам нужно.
Flickable.draggingChanged
испускается только тогда, когда перетаскивание начинается и заканчивается.Flickable.movingChanged
испускается только тогда, когда Flickable начинается и заканчивается движение.Flickable.contentXChanged
испускается каждый раз, когда контент перемещается по горизонтали.Flickable.contentYChanged
испускается каждый раз, когда контент перемещается по вертикали.
Также Text.textChanged
испускается каждый раз, когда изменяется текст.