当我在Linux SLES11机器上使用下面的代码时,由于某种原因,.ini文件正在重新创建,因此我无法恢复我的设置。
同样的代码在Windows机器上运行良好。
我想在启动窗口中有最近打开的文件列表,以便用户可以快速选择。
void Window::saveRecentFileList()
{
QSettings settings(m_settingsPath, QSettings::NativeFormat);
settings.setValue("recentFiles/list", QVariant(m_recentFilesList));
}
void Window::restoreRecentFileList()
{
QSettings settings(m_settingsPath, QSettings::NativeFormat);
m_recentFilesList = settings.value("recentFiles/list").toStringList();
}发布于 2015-06-20 01:39:54
尝试使用QSettings::IniFormat而不是QSettings::NativeFormat。在Windows上,您无论如何都应该使用具有特定ini文件位置的QSettings::IniFormat。Linux使用ini文件作为其设置存储的原生格式,但QSettings documentation建议:
在所有平台上,如果您想要直接读取INI文件,可以使用QSettings构造函数,该构造函数将文件名作为第一个参数,并将QSettings::IniFormat作为第二个参数传递。
https://stackoverflow.com/questions/30933129
复制相似问题