我有一個項目由幾個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