QML通过鼠标拖动的位置

当通过鼠标拖动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")
                }
            }
        }
    }
相关推荐
爱搞事的程小猿21 天前
4.qml单例模式
单例模式·js·qml
梦起丶21 天前
Qml 实现星级评分组件 已发布
qt·ui·控件·qml
梦起丶23 天前
Qml 实现水波进度动画条
qt·ui·控件·qml
梦起丶24 天前
Qml 实现仿前端的 Notification (悬浮出现页面上的通知消息)
qt·控件·qml
梦起丶25 天前
Qt 中实现异步散列器
c++·qt·hash·qml
梦起丶1 个月前
Qml 实现瀑布流布局
qt·布局·qml
梦起丶1 个月前
Qml 实现星级评分组件
qt·ui·控件·qml·评分组件
我啥都会1 个月前
QML入门之创建可重用的组件(一)
qml
火山上的企鹅1 个月前
QT Quick QML 添加海康威视SDK云台控制模块
开发语言·qt·qml·海康威视
yayapoi~1 个月前
qml formLayout实现方式
qt5·qml