在 macOS 上哪里可以找到 QSettings
Where to find QSettings on macOS
所以我正在使用 QSettings
来存储我的偏好,并且根据 https://doc.qt.io/qt-5/qsettings.html#platform-specific-notes 有几个实际存储它的位置。
我在 macOS 10.14 上,但我在 $HOME/Library/Preferences/org.mycomp.myapp.plist
中找到设置(上面 link 说明这应该适用于 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.
自 macOS Mavericks (10.9) 首选项被缓存以提高性能,他们这么说。当您删除 .plist 文件时,每次执行程序时它们仍然在内存中。您需要使用此命令清除首选项缓存:
killall -u $USER cfprefsd
或者您可以重新启动计算机...
如果您(和您的用户)对此感到厌倦,您可以考虑使用带有 QSettings 的 INI 文件而不是原生 OS 格式:
QSettings("MyApp.ini", QSettings::IniFormat)
所以我正在使用 QSettings
来存储我的偏好,并且根据 https://doc.qt.io/qt-5/qsettings.html#platform-specific-notes 有几个实际存储它的位置。
我在 macOS 10.14 上,但我在 $HOME/Library/Preferences/org.mycomp.myapp.plist
中找到设置(上面 link 说明这应该适用于 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.
自 macOS Mavericks (10.9) 首选项被缓存以提高性能,他们这么说。当您删除 .plist 文件时,每次执行程序时它们仍然在内存中。您需要使用此命令清除首选项缓存:
killall -u $USER cfprefsd
或者您可以重新启动计算机...
如果您(和您的用户)对此感到厌倦,您可以考虑使用带有 QSettings 的 INI 文件而不是原生 OS 格式:
QSettings("MyApp.ini", QSettings::IniFormat)