我有一个项目由几个QWidgets组成,每个QWidgets都有自己的qml文件。每个qml文件导入与某些变量相同的Global.js文件(例如var xyz = 1)。现在,我想通过我的C++代码来改变这个javascript变量。如何从qpp通过qml访问javascript变量
Global.js:
.pragma library
var xyz = 300;
my.qml:
import "Global.js" as Global
Rectangle {
property int m_heigth
width: Global.xyz
heigth: m_heigth
}
C++:
this->setProperty("m_heigth", 300); // <--- does work
this->setProperty("Global.xyz", 300); // <--- does not work :(
我如何可以访问C++这个JavaScript变量?
一个简单的解决方案是使用JS setter和getter函数,只要它们是QML对象的成员函数,就可以从C++调用JS函数。 – dtech
这是可能的,而无需更改qml文件?我不想更改所有qml文件,其中也包含其他包含Global.js的qml文件。 – redstack