gpt4 book ai didi

javascript - 使用 JavaScript 为 QML 创建全局变量

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:25:52 26 4
gpt4 key购买 nike

我在 QML/JS 集成方面遇到问题。

我有一个 javascript 列表变量存储在 .js 文件中。我想从一个 QML 文件写入这个变量,并从另一个 QML 文件读取它。我似乎无法找到解决方案。我过度简化了我的实际代码以使其易于理解!

// writeValue.QML
import "../javascript/storedValue.js" as StoredValue
...
MouseArea{
onClicked{
StoredValue.value.push(1)
}
}

// readValue.QML
import "../javascript/storedValue.js" as StoredValue
...
Text{
text : StoredValue.value
}

//storedValue.js
var value = []

我试过使用“.pragma library”但没有使用它,但无济于事。

writeValue.QML 写入成功,所以 [1, 1, ,1, ...]。而 readValue.QML 只是找到一个空列表,[]。

最佳答案

只需将.pragma library放在JS文件的开头即可。这样,QML 组件只会导入一个实例

但是请记住,当 var 属性更改时不会发出更新信号。如果你想拥有支持更新的全局 var,你应该在 C++ 端通过 setContextProperty() 导出一个自定义的 QObject

关于javascript - 使用 JavaScript 为 QML 创建全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17213737/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com