我有一个应用程序,我在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
Run Code Online (Sandbox Code Playgroud)
但是,当我加载设置文件时,我发现了
QSettings settings( "settings.ini", QSettings::IniFormat );
Run Code Online (Sandbox Code Playgroud)
评论被删除了文件.通过调用QSettings :: sync()加载后重写INI文件(这由构造函数自动完成).有没有办法在同步后保留评论?
抢先评论:
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
Run Code Online (Sandbox Code Playgroud)
我不知道它是否有效,可以看看它是如何存储字符串的.哦,并确保您从代码中设置或正确记录,以避免在程序中意外使用相同的标识符.