【发布时间】:2014-10-08 17:16:30
【问题描述】:
我正在使用 QSettings 编写一个 .ini 文件,该文件将作为我的应用程序配置文件。只有一个问题:
QSettings 将组名 [General] 添加到文件顶部。
我是这样设置文件的:
QSettings settings(QApplication::applicationDirPath() + fileName, QSettings::IniFormat);
然后这样写:
settings.setValue("some_setting", theNumber);
但是,我最终将此数据提供给的程序无法处理 [General] 标签。虽然我当然可以选择从文件中手动删除 [General],但我想知道是否可以让 QSettings 停止这样做。
我怀疑这种行为是由于指定了QSettings::IniFormat。但是,我没有看到任何其他选项会告诉它停止指定组。
知道我该怎么做吗?
【问题讨论】:
-
您可能应该重新考虑使用
QApplication::applicationDirPath()作为存储位置。这是程序的可执行文件所在的目录,因此通常不是用户可写的位置,例如管理员在系统范围内安装的软件 -
这是来自很久以前的项目,但在我的用例中,它总是安装到用户可写的地方(这是一个业余爱好者最终用户应用程序) - 但很好