【发布时间】:2015-06-19 08:08:28
【问题描述】:
当我在 Linux SLES 11 机器上使用以下代码时,.ini 文件由于某种原因正在重新创建,因此我无法恢复我的设置。
相同的代码在 Windows 机器上运行良好。
prb:我想在启动窗口有最近打开的文件列表,以便用户可以快速选择。
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();
}
【问题讨论】:
-
也许
restoreRecentFileList在saveRecentFileList之后调用? -
@vahancho no 在构造函数中我正在调用 restoreRecentFileList & 在析构函数中我正在调用 saveRecentFileList
-
你的代码没问题。可能问题出在ini文件或其他代码中。尝试编写一个简单的测试应用。
-
其他代码实际上很好,我打印 m_recentFilesList 并检查其是否按预期工作,但我观察到,文件是如何重新创建并因此丢失数据的。