【问题标题】:Where does Qt/C++ Store System Scope QSettings on Mac OSX 10?Qt/C++ 在 Mac OSX 10 上将系统范围 QSettings 存储在哪里?
【发布时间】: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 文件夹。

【问题讨论】:

    标签: c++ macos qt qsettings


    【解决方案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 使用另一条路径(但我不知道你是否可以做到以及如何做到)
    猜你喜欢
    • 1970-01-01
    • 2010-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-12
    • 2012-06-14
    相关资源
    最近更新 更多