从 QML 连接到 C++ 信号

Connect to C++ signal from QML

我想像这样从 QML 连接到 C++ 信号:

action.onMouseUp = function() {
    console.log("mouse up>>");
}

并在我的 C++ 对象中声明此信号:

signals:
  void mouseUp(const QPointF point);

但我收到 QML 错误:TypeError:无法分配给只读 属性 "mouseUp"。可能是什么问题?

您需要 call connect method 个 action.onMouseUp 个对象。

action.onMouseUp.connect( function() {
    console.log("mouse up>>");
});

我找到了另一个解决方案:

Q_PROPERTY(QJSValue onMouseUp READ onMouseUp WRITE setOnMouseUp)

即使没有 connect() 也能正常工作