我在Windows上使用Qt 4.5.2编写了一个应用程序。我将一些设置存储在INI文件中,并使用QSettings加载和保存设置。我想在INI文件中有一些评论。
例如:
; Meta-info to store with the file
[General]
MainWindow\size=@Size(1280 600)
MainWindow\pos=@Point(0 300)
Debugging=true
但是,当我用
加载设置文件时,我发现了QSettings settings( "settings.ini", QSettings::IniFormat );
评论被从文件中删除。通过调用 QSettings :: sync()加载后重写INI文件(这由构造函数自动完成)。有没有办法在同步后保留评论?
抢先评论:
答案 0 :(得分:6)
QSettings
没有“保存”的概念。您对它所做的所有更改都被认为是最终的,并且经常透明地写入磁盘。
在QSettings
的文档中,没有提及ini文件中的注释。它确实有道理:毕竟,它也可以是注册表值。像生成的文件一样对待它:它就是一个。
这是我的建议:
[General]
Comment = @String(Meta-info to store with the file)
MainWindow\size=@Size(1280 600)
MainWindow\pos=@Point(0 300)
Debugging=true
我不知道它是否有效,可以使用它来查看它是如何存储字符串的。哦,并确保您从代码中设置或正确记录,以避免在程序中意外使用相同的标识符。