我使用QSettings解析没有组的ini格式文件,如下所示:
msg=45
id=69
到目前为止一直很好,但是当我尝试写一个新密钥时,它就是这样的:
[General]
new=100
msg=45
id=69
我的目标是拥有这样的东西:
msg=45
id=69
new=100
这是我写的代码:
QSettings settings(m_rcFile, QSettings::IniFormat);
settings.setValue("new", num);
我知道大多数ini文件都有组/键/值,但由于QSetings可以在没有组I的情况下读取它们,尽管它可以在写入时执行相同操作。有什么想法吗?
答案 0 :(得分:0)
似乎至少与documentation一致,即
如果你保存一个顶级设置(一个没有斜线的键,例如“someKey”),它将出现在INI文件的“常规”部分。
就在它下面说
遵循这样的理念:我们应该接受我们所接受和保守的自由,QSettings将[...]
,虽然解决了一个不同的怪癖,但可以解释为什么QSettings可以读取非节的值,但拒绝在那里写。
底线是你需要一个不同的方法(另一个库或像QFile / QTextStream这样的低级类)来编写这些值,如果你真的不能将它们放在一个部分中。