如何在 qtquick 中拖动时显示自定义图标?

How to show custom icon during drag in qtquick?

我正在尝试在我的 qml 应用程序中应用拖放功能。我能够拖放对象。但是在拖动过程中,我不想移动源对象,而是想显示自定义图标并将一些文本数据传递到放置区域。请让我知道这在 qml 中是如何实现的?

有一个属性表示正在拖动一个对象:Drag.active。 在 QML 中对象属性可以直接绑定到其他属性,例如:

Rectangle {
        x: 10; y: 10;
        width: Drag.active ? 60 : 80;
        height: Drag.active ? 60 : 80;
        color: Drag.active ? "red" : "blue"

        Drag.active: dragArea.drag.active

        Text {
            text: "DRAGGING"
            visible: parent.Drag.active
        }
        MouseArea {
            id: dragArea
            anchors.fill: parent
            drag.target: parent
        }
    }

这个蓝色的矩形在移动时会变成红色。它的运动尺寸更小,子文本对象也可见。

您可以拥有一个带有隐藏图像的项目,该图像在拖动过程中变得可见。