如何拖动qquickwidget?

时间:2015-08-23 15:11:10

标签: qt qml qtquick2 qquickwidget

我在主窗口内有一个data。这似乎有效,但是,它会在拖动时剧烈摇晃。

QQuickWidget

这是调试输出,当我只拖到左下角时,该点不应该是正x:

  

qml:QPointF(6,2)
qml:QPointF(6,2)
qml:QPointF(-6,-1)
qml:   QPointF(-6,-1)
qml:QPointF(5,1)
qml:QPointF(5,1)
qml:QPointF(-5,   0)
qml:QPointF(-5,0)
qml:QPointF(4,0)
qml:QPointF(4,0)
qml:   QPointF(-5,1)
qml:QPointF(-5,1)

1 个答案:

答案 0 :(得分:0)

哦,我明白了。检查输出后,我知道出了什么问题。移动鼠标时,鼠标通常会更改其xy。所以move()会被执行两次。

onMouseXChanged: {
    var offset = Qt.point(dragArea.mouseX - root.dragStart.x, 0)
    root.moved(offset)
}

onMouseYChanged: {
    var offset = Qt.point(0, dragArea.mouseY - root.dragStart.y)
    root.moved(offset)
}