我正在使用QSettings编写一个.ini文件,它将用作我的应用程序配置文件。只有一个问题:

QSettings在文件顶部添加一个组名[General]。

我以这种方式设置文件:

QSettings settings(QApplication::applicationDirPath() + fileName, QSettings::IniFormat);


并这样写:

settings.setValue("some_setting", theNumber);


但是,我最终要提供该数据的程序无法处理[General]标签。虽然从文件中手动删除[General]当然是我的选择,但我想知道是否有可能使QSettings停止这样做。

我怀疑该行为是由于指定了QSettings::IniFormat。但是,我看不到任何其他选项可以告诉它停止指定组。

知道我该怎么做吗?

最佳答案

.ini文件格式是基于Microsoft从Windows实施的实际标准。它需要节的存在。

不管将文件提供给哪个应用程序,实际上并没有实现.ini文件格式,而是实现了其他格式。

最有可能您根本不应该使用QSettings,而是手动实现功能。这应该不成问题,因为您只需要将数据“馈送”到其他软件即可。您无需读回。您可以将设置存储在常规的QSettings中,然后将其导出到文本文件中以供该应用程序使用。

关于c++ - QSettings:是否可以禁用组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25318467/

10-09 18:16