有没有办法将数据追加到现有的GVariant字典?

问题描述:

我使用GSettings来存储我的应用程序设置。这些格式是“a {q(bsyssbyqqqq)}”,所以它是Dictionary。有没有办法将数据追加到现有的GVariant字典?

有时我需要向该字典添加新记录。我可以从GSettings检索它作为GVariant。有什么方法可以添加一条记录吗?

我已经创建了新的GVariantBuilder来创建这个新条目,它工作正常,但其操作结果只是一条记录。要添加所有剩余的我需要迭代所有现有的字典条目并将其添加到构建器。有没有更简单和更有效的方法来做到这一点?

可能为时已晚,但只是备案,油嘴文档(http://developer.gnome.org/glib/2.32/glib-GVariant.html)说:

GVariant情况下,总是有一个类型和一个值(在 施工时间给出)。一个GVariant实例的类型和值可以是 永远不会改变,除非由GVariant本身被破坏。

因此它是不可能改变(添加一些记录到您的字典)GVariant。做你想做的事的唯一方法就是你现在正在做的事情。