我目前正在使用在根qml文件中声明的属性,并且它们全局工作,因为动态范围,但我担心最终它们会造成太多的查找开销,特别是当对象树变得更深时,它最终会。
还可以使用上下文属性对象,但这会增加详细程度,还有:
缺点是v4引擎无法处理动态 对象,例如通过setContextProperty()从C ++导出的对象。 包含这样一个动态对象的绑定将成为其中的一部分 QV8Bindings。
从我所读到的单身人员在查找性能方面应该更加高效,但它们更加冗长 - 需要导入语句和访问单个属性作为单身成员而不是直接,并且最后但并非最不重要的是也是一个古老而又不固定的QTBUG-34418,这在通过网络使用QML时是有害的。
那么考虑以下标准,在QML中实现一组全局属性的最有效方法是什么:
Settings
的兼容性,以便在应用程序运行期间保持值更改