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")
                }
            }
        }
    }
相关推荐
Wallace Zhang9 天前
PySide6 + QML - 调试日志01 -告别打印log中文乱码,快速且简单地解决
qt·pyside6·qml
江公望15 天前
Qt QHostInfo::lookupHost()函数,10分钟讲清楚
开发语言·qt·qml
江公望18 天前
Qt告警clazy-detaching-temporary浅谈
qt·qml
Hi2024021722 天前
为QML程序添加启动Logo:提升用户体验
windows·qt·ui·人机交互·qml·启动logo
紫荆鱼23 天前
PCL实战项目-软件界面搭建RibbonUI
qt·pcl·用户界面·qml·点云处理
江公望1 个月前
装了新的QtCreator17,没有用Qt5.12自带的QtCreator4,导致QtCreator17无法找到Qt5.12帮助文档
qt·qml
奔跑吧 android1 个月前
【Qt】【1. 版本特性介绍】
qt·cpp·qml
Wallace Zhang1 个月前
PySide6 + QML - 多线程02 - QThread 生命周期与安全退出
vscode·pyside6·qml
江公望1 个月前
如何在Qt QML中定义枚举浅谈
开发语言·qt·qml
Hi202402171 个月前
Qt+Qml客户端和Python服务端的网络通信原型
开发语言·python·qt·ui·网络通信·qml