最近写项目使用到QSettings来保存配置文件,但是有时候打开文件发现里面内容错乱,为了保证
文件里的内容正确,每次更新文件都会调用clear或者remove来清理内容。但是保存以后发现错乱的信息还在,于是想到了有可能执行sync才会同步到文件。因此试了以下。发现可以清空。具体写法如下:
如果只调用QSettings::clear或者settings.remove,只是清空内存中的数据。真正的要把文件清空,写法如下:
void clearIconIni()
{
QSettings iconsSettings(ICON_FILE, QSettings::IniFormat);
iconsSettings.clear();
iconsSettings.remove(ICONS_GROUP_NAME);
iconsSettings.sync();
}
也就是增加sync()函数即可。