property variant a: {}
似乎并没有工作。 a
最终未定义,而不是空字典。无法初始化QML属性{}
我不是非常有经验的JavaScript ...什么是初始化属性,以持有空字典正确的方法是什么?
以下QML打印 “QRC:/main.qml:13:类型错误:类型错误” 在控制台上。但是,如果a
初始化为{"dummyentry": 42}
,然后 ,则会记录预期结果。
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
ApplicationWindow {
visible: true; width: 600; height: 200
property variant a: {}
Component.onCompleted: {
console.log("initial a="+JSON.stringify(a)) // TypeError: Type error
a["newkey"] = 999 // gets "TypeError: Type error"
console.log("updated a="+JSON.stringify(a))
}
}
此行为全部在文档http://doc.qt.io/qt-5/qml-var.html中阐述。对于行为的*推理*对我来说不太清楚。 –