我有一个使用Qt 5.10商业版在iOS和OSX上运行的Qt 应用程序。我有一个托管图像的QML 项目。当用户的手指在其上拖动或鼠标被拖动时,我正在尝试平移QML 项目。
以下是我试图使我的QML 项目可平移:
代码:
MyQmlItem {
id: my_qml_item
anchors.top: parent.top
anchors.horizontalCenter: parent.horizontalCenter
onXChanged: {
if (my_qml_item_mouse_area.drag.active) {
console.log("x = " + x)
my_qml_item.x = // what to set x here to move my_qml_item wrt finger or mouse pressed movement
}
}
onYChanged: {
if (my_qml_item_mouse_area.drag.active) {
console.log("y = " + y)
my_qml_item.y = // what to set y here to move my_qml_item wrt finger or mouse pressed movement
}
}
MouseArea {
id: my_qml_item_mouse_area
anchors.fill: parent
drag {
id: drag_area
target: my_qml_item
axis: Drag.XandYAxis
}
}
}
我了解我必须更新何时x
和y
处于活动状态以及正在更新的位置。但我正在努力弄清楚我应该如何重新计算新的和MyQmlItem
onXChanged
onYChanged
x
y
my_qml_item.x
my_qml_item.y
问题:
我也正在获取x
和y
更新。基本问题是,如何计算加上不断更新和。onXChanged
onYChanged
my_qml_item.x
my_qml_item.y
有没有用于平移或拖动项目的 Qt/QML 的好例子QML
?
是否有某种方法可以通过仅设置默认值x
和来复制以下锚点y
?因为,它与拖动QML组件直接冲突
anchors.top: parent.top
anchors.horizontalCenter: parent.horizontalCenter