如果使用不同版本的 Qt 库(例如 4.5.2 和 4.7.1), QByteArray在文件系统上以不同格式序列化。我在我的应用程序中使用QSettings将一些二进制数据存储在.ini
文件中。现在应用程序已迁移到 Qt 4.7.1,如果更新版本的应用程序读取(使用QSettings值方法),则结果QByteArray不等于先前版本的应用程序序列化。
可能的解决方案:
维护应用程序使用的Qt版本(我将应用程序版本存储在设置中)
使用自己的ReadFunc和WriteFunc实现自己的QSettings格式(ini 格式的包装器)。
使用维护的 Qt 版本使用setVersion中的QDataStream读取/写入QByteArray设置。
还有更简单的解决方案吗?