QSettings iniFormat
Posted
技术标签:
【中文标题】QSettings iniFormat【英文标题】: 【发布时间】:2021-01-15 16:47:00 【问题描述】:我正在尝试从我的应用程序 (Qt5.9.6) 创建一个 ini 文件:
#include <QCoreApplication>
#include <QSettings>
int main(int argc, char* argv[])
QCoreApplication app(argc, argv);
QSettings settings(QStringLiteral("C:\\test.ini"), QSettings::IniFormat);
settings.setValue(QStringLiteral("global/mykey"), 1234);
settings.sync();
app.exec();
文件已创建,但内容不是我所期望的:
[global]
mykey="\x1\x1\x1\x1"
【问题讨论】:
您的代码对我来说运行良好。您确定没有在其他地方覆盖该值吗? @chehrlic:是的,我很确定。尽管在代码中的某个时刻,我确实从另一个 .ini 文件读取到另一个 QSettings 实例。我想这应该不是问题。 请提供一个最小的、可编译的示例来显示问题。它在这里工作正常。 @chehrlic:我创建了一个最小的示例,得到了相同的输出。 @chehrlic 我们追踪了这个问题,我的一位同事在我们的自定义 Qt 代码中添加了一个错误。他没有检查相等性,而是使用了赋值运算符,这就是它只打印 \x1 的原因。感谢您的帮助,我真的很感激! 【参考方案1】:看起来这是一个由同事引入我们自定义构建的 Qt 库的错误。
【讨论】:
以上是关于QSettings iniFormat的主要内容,如果未能解决你的问题,请参考以下文章