【发布时间】:2020-04-01 19:31:22
【问题描述】:
所以我使用QSettings 来存储我的偏好,根据https://doc.qt.io/qt-5/qsettings.html#platform-specific-notes 有几个位置实际存储了它。
我使用的是 macOS 10.14,但我在 $HOME/Library/Preferences/org.mycomp.myapp.plist 中找到了设置(上面的链接表明这应该适用于 macOS 10.2/10.3)。
现在我可以通过打开看到该文件包含我最近的设置更改,但是,删除后,我的应用程序仍会加载设置。所以必须有第二个存储它的位置?但我似乎找不到它。
- $HOME/Library/Preferences/com.MySoft.Star Runner.plist - 不存在
- $HOME/Library/Preferences/com.MySoft.plist - 存在,已删除
- /Library/Preferences/com.MySoft.Star Runner.plist - 不存在
- /Library/Preferences/com.MySoft.plist - 不存在
对于 unix 变体:
- $HOME/.config/MySoft/Star Runner.conf - 不存在
- $HOME/.config/MySoft.conf - 不存在
- 对于 $XDG_CONFIG_DIRS 中的每个目录:/MySoft/Star Runner.conf - 不存在
- 对于 $XDG_CONFIG_DIRS 中的每个目录:/MySoft.conf - 不存在
那么设置还保存在哪里?!
在我的main.cpp 我有:
QCoreApplication::setOrganizationName("Firstname Lastname");
QCoreApplication::setOrganizationDomain("mycomp.org");
QCoreApplication::setApplicationName("MyApp");
我使用QSettings 和默认构造函数。我正在使用 Qt 5.13.2。
【问题讨论】:
-
QSettings::fileName应该告诉您文件实际保存和恢复的位置。 -
它给了我
$HOME/Library/Preferences/org.mycomp.myapp.plist- 我已经删除的文件。根据lsof,此文件未打开,也不存在(因为我已将其删除,但尚未存储任何新设置)。
标签: qt settings preferences qsettings