繁体   English   中英

使用JavaScript为QML创建全局变量

[英]Creating global variables using JavaScript for QML

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

我在.js文件中存储了一个JavaScript列表变量。 我想从一个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库”而不使用它,但无济于事。

结果是writeValue.QML成功写入,因此[1,1,,1,...]。 而readValue.QML只是找到一个空列表[]。

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

但是请记住,当var属性更改时,不会发出更新信号。 如果要具有支持更新的全局var ,则应通过C ++一侧的setContextProperty()导出自定义QObject

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM