Высота / ширина печати 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 испускается каждый раз, когда изменяется текст.

Другие вопросы по тегам