【发布时间】:2011-08-09 07:05:21
【问题描述】:
我希望访问 QSettings 和 QVariant 使用的序列化技术。例如,如果您创建一个 QRect 对象并将其存储到带有 QSettings 的 INI 文件中,您会得到如下所示的一行:
value=@Rect(1 2 3 4)
大多数标准 Qt 类型和自定义类型都具有类似的用于保存/加载的字符串序列化格式。我怎样才能做同样的事情?
也就是说,我有一个 QVariant 并希望保存它包含的数据,然后稍后再加载该数据。保存的表单应该是文本数据(如上),以便在普通配置文件(如 INI)或注册表中使用。
嗯,我查看了QSettings 源代码,它只是对一些常见类型进行了硬编码处理,然后使用 QDataStream 处理其余部分。这意味着没有通用的方法来以文本形式序列化数据。
【问题讨论】: