我正在使用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/