我正在使用QSettings
将我的应用程序的某些设置存储在 INI 文件中。
在 Windows 上,一切正常,我的 INI 文件存储在我的应用程序的同一文件夹中。但是在 OS X 上,我找不到 INI 文件,并且在我再次打开应用程序时未加载设置。
我正在使用以下代码使用QSettings
将值存储在 INI 文件中:
QSettings *settings = new QSettings("settings.ini", QSettings::IniFormat);
settings->beginGroup("AppSettings");
settings->setValue("Language", language);
settings->endGroup();
有人知道发生了什么吗?
如何在OS X上的Application.app中存储INI文件?
答案 0 :(得分:1)
我认为 OS X 不允许编辑应用包内的文件。
我通过更改 INI 文件位置解决了问题:
QString path = QStandardPaths::writableLocation(QStandardPaths::ConfigLocation);
QSettings *settings = new QSettings(path+"/settings.ini", QSettings::IniFormat);
settings->beginGroup("AppSettings");
settings->setValue("Language", language);
settings->endGroup();
现在 INI 文件将保存在QStandardPaths::ConfigLocation
位置,在我的情况下是/Users/.../Library/Preferences
我根据此topic解决了问题。