QML 中的 C++ 方法从未调用过,仍然有效

C++ method in QML never called, still works

我是 QML 新手,看过 this 代码。它工作正常,但让我感到困惑的是 setUsername 方法从未在 qml 文件中调用过。所以我的问题是 Q_PROPERTY 是如何工作的。有人对此有很好的解释吗?

Q_PROPERTY(QString userName READ userName WRITE setUserName NOTIFY userNameChanged) 这个用来像qml一样使用属性。 所以你可以像使用 qml 变量一样使用每个变量。 QML 将使用 c++ 函数 userName () 和关键字 读取 属性 的值。并使用函数 setUserName() 写入。 然后通过信号 userNameChanged.

通知修改