【发布时间】:2017-01-21 01:34:54
【问题描述】:
我正在使用 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 文件?
【问题讨论】:
-
QSettings::status()调用返回什么? (尝试写一些东西之后)。你确定QSettings::isWritable()返回 true 吗? -
我试过
qDebug() << settings->status();它返回0。 -
当我从 Qt 运行我的应用程序时,
QSettings::isWritable()返回 true。但是当我使用macdeployqt MyApp.app构建它并运行 MyApp.app 时,QSettings::isWritable()返回 false。 -
我的 INI 文件终于出现在 MyApp->Contents->MacOS->settings.ini 中(可能是因为我创建它是从 Qt 运行应用程序)。但是,我认为 INI 文件不可读写,因为它位于 MyApp.app 中。
标签: c++ macos qt ini qsettings