如何绑定到 `MouseArea` 的 `onDragChanged`?

how to bind to `MouseArea`'s `onDragChanged`?

Qt Creator 建议 onDragChanged 插槽存在于 MouseArea

    MouseArea {
        id: mouseArea
        ...
        onDragChanged: console.log('Drag changed')
    }

但在运行时它失败了:

Cannot assign to non-existent property "onDragChanged"

愚蠢的解决方法(但它有效...)

readonly property bool _dragActive: drag.active
on_DragActiveChanged: {
    ... = drag.active
}

正确的方法是:

drag.onActiveChanged: console.log("Drag active:", drag.active)

这是因为 drag 是一组属性(在引擎盖下它是一个 QObject 或类似的东西),所以您需要先引用该组。

您的初始尝试无效,因为 drag 被声明为 CONSTANT Q_PROPERTY,它没有 on...Changed 信号