拖动视图

时间:2016-06-12 16:41:40

标签: qt qml qtquick2 flickable

我希望能够在拖动时打印Flickable视图的高度/宽度。我相信可以使用onDraggingChangedonMovingChanged来完成,因为类似的事件侦听器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)
    }
}

但是那些事件监听器只会在拖动/移动flickable的开始和结束时打印高度。那么我该如何实现呢?

1 个答案:

答案 0 :(得分:1)

我相信您需要Flickable.contentXChangedFlickable.contentYChanged信号。

    只有在拖动开始和结束时才会发出
  • Flickable.draggingChanged
  • 仅当Flickable开始和结束移动时才会发出
  • Flickable.movingChanged
  • 每次水平移动内容时都会发出
  • Flickable.contentXChanged
  • 每次垂直移动内容时都会发出
  • Flickable.contentYChanged

每次文字更改时都会发出Text.textChanged