使用QSettings在顶层写一个键

时间:2016-09-24 14:51:31

标签: qt ini qsettings

我使用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的情况下读取它们,尽管它可以在写入时执行相同操作。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

似乎至少与documentation一致,即

  

如果你保存一个顶级设置(一个没有斜线的键,例如“someKey”),它将出现在INI文件的“常规”部分。

就在它下面说

  

遵循这样的理念:我们应该接受我们所接受和保守的自由,QSettings将[...]

,虽然解决了一个不同的怪癖,但可以解释为什么QSettings可以读取非节的值,但拒绝在那里写。

底线是你需要一个不同的方法(另一个库或像QFile / QTextStream这样的低级类)来编写这些值,如果你真的不能将它们放在一个部分中。