的QtWebKit的桥文档指出以下 - 持有的键值一个 列表修改QVariantMap用JavaScript
化合物(JSON)对象的JavaScript 化合物的对象,也称为JSON 对象,将变量对,其中所有 键都是字符串,值可以是 有任何类型。这很好地转化为QVariantMap,它不是 ,而是QString的QMap到 QVariant。 JSON对象和QVariantMap 之间的无缝转换 允许的 传递任意结构化数据℃之间 ++和JavaScript 环境非常方便的方式。原生QObject必须 确保将化合物值 转换为QVariantMaps和 QVariantLists,并且JavaScript是 保证以 有意义的方式接收它们。请注意,JSON不支持 的类型,例如 JavaScript函数和 getters/setters,不会被转换。
这是否意味着,尽管JavaScript能够读取QVariantList,却无法修改它?
我已经尝试添加getter和setter用于测试目的 -
Q_PROPERTY(QVariantMap Settings READ GetShadowSettings WRITE SetShadowSettings)
的getter函数被调用时,JavaScript的希望从QVariantMap访问任何数据。不幸的是,当JavaScript尝试更新QVariantMap时,getter函数被再次调用(而不是setter函数)。
Q_INVOKABLE void Update(QString key, QVariant value) {
settings[key] = value;
}
我只是想知道是否有这样做,而不需要一个辅助函数的方式 -
我可以用一个简单的辅助功能,例如修改数据?