当通过鼠标拖动Rectangle 的位置时,可以使用Qt Quick的MouseArea组件来实现
cpp
Rectangle {
id: rect
x:0;y:0
width: 200; height: 100
color: "lightblue"
MouseArea {
id: mouseArea
anchors.fill: parent
drag.target: rect//要拖动的项目的ID
drag.axis: Drag.XAndYAxis//拖动的轴方向
//限制目标可以沿着相应轴拖动的距离
drag.minimumX: 0
drag.maximumX: root.width-rect.width
drag.minimumY: 0
drag.maximumY: root.height-rect.height
drag.filterChildren: false//拖动不可以覆盖子类的MouseAreas
//子类
Rectangle {
color: "yellow"
x: 50; y : 50
width: 100; height: 40
MouseArea {
anchors.fill: parent
onClicked: console.log("Clicked")
}
}
}
}