我有一个场景,我需要在脚本中动态添加属性 QScriptEngine 动态添加属性后,脚本会为该变量赋值。如何将此值同步到 C++
我一开始使用的是QJSEngine,但是它似乎不支持动态添加属性,所以我改用QScriptEngine来动态添加属性值,但是脚本中变量的更改与c++不同步
#include <QtScript\QScriptEngine>
#include <QDebug>
int main(int argc, char *argv[])
{
QScriptEngine engine;
int num = 0;
engine.globalObject().setProperty("num", num);
auto res = engine.evaluate("num = 3");
if (res.isError())
{
qDebug() << res.property("message").toString();
}
}
如何将脚本中的“num”值同步到C++
瞬间,我在评估后调用了engine.globalObject().property("num").toVariant().toInt();我可以在脚本中获取这个属性的值,因为我的“num”变量很可能是在运行时添加到数组中的,使用property(“num”).tovariant().toint()可能不太方便。我想知道除了这个方法还有没有其他方法可以自动同步变量