Qt/C++ 在 Mac OSX 10 上将系统范围 QSettings 存储在哪里?
Posted
技术标签:
【中文标题】Qt/C++ 在 Mac OSX 10 上将系统范围 QSettings 存储在哪里?【英文标题】:Where does Qt/C++ Store System Scope QSettings on Mac OSX 10? 【发布时间】:2015-08-13 17:17:47 【问题描述】:根据最新 Qt 版本的 Qt 文档,查看QSettings,他们说 Mac 上的系统设置范围存储在目录 /etc/xdg 中。不幸的是,我发现 Mac OSX 10.10 Yosemite 上并非如此。他们将这些设置存储在哪里?我的意思是,我已经让 QSettings 工作 in this example,但即使我这样做 sudo su
并假设我的 Mac 上的 root 以访问该文件夹,也找不到 /etc/xdg 文件夹。
【问题讨论】:
【参考方案1】:在 MacOS 上,$HOME/Library/Preferences/
应该是用户设置的位置,而/Library/Preferences/
是默认设置的路径(用户不能在上面写字)。
如果在较新版本的 MacOS Qt 上使用 Unix 的路径,那么您应该查看 /etc/xdg/
或 $HOME/.config/
在所有四种情况下,这些目录都包含一个 .rc
文件和(可选)一个名为软件的子目录,其中包含所有其他配置文件。
【讨论】:
在我的情况下,/etc/xdg
在装有 Yosemite 的 Mac Air 上不存在。我什至在终端提示中做了sudo su
成为root 并进行检查。但是,我确实看到了 /Library/Preferences
和 $HOME/Library/Preferences
。即使我正在做系统范围,它似乎是在$HOME/Library/Preferences
下创建一个文件,即使我使用QSettings::setPath()
语句指定了/etc/xdg
。我很担心,因为我需要系统范围,而不是用户范围。
所以,你不能在/etc/xdg
中安装文件,因为它不是设置路径;您可以在安装应用程序时将配置文件放在/Library/Preferences
中(普通用户不会修改它)并在$HOME/Library/Preferences
中保留用户版本;如果你想改变这种行为,你必须指示 Qt 使用另一条路径(但我不知道你是否可以做到以及如何做到)以上是关于Qt/C++ 在 Mac OSX 10 上将系统范围 QSettings 存储在哪里?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Mac OSX 上将 Access 数据库与 Netbeans 连接?
如何在 Mac OSX 上将我的 OpenGL 从 2.1 升级到 3.3?
在 Mac OSX 上将 unix 纪元时间转换为人类可读的日期 - BSD