如何使用QStandardPath获取"ProgramData"路径

How can I get "ProgramData" path using QStandardPaths

本文关键字:ProgramData 路径 获取 何使用 QStandardPath      更新时间:2023-10-16

是否有办法在QT中使用QStandardPaths获得ProgramData路径?

细节:

  1. 我想知道如何通过使用QStandardPaths类的函数获得ProgramData路径。
  2. 我想要跨平台的解决方案,这就是为什么我想使用QStandardPaths。我相信QT提供了这样的解决方案,但我找不到。
  3. 人们可能会问我为什么要这样做,或者可能会建议使用ProgramData路径不好。首先,我计划复制我的应用程序的用户独立的配置文件。我希望所有的用户都能够达到该文件,只是为了阅读。我将在安装步骤中找到必要的文件。(如果这不是一个好方法,我们可以讨论这种情况)

我已经试过了:

  1. QStringList locations = QStandardPaths::locateAll(QStandardPaths::DataLocation, QString(), QStandardPaths::LocateDirectory);

  2. QStringList locations2 = QStandardPaths::standardLocations(QStandardPaths::DataLocation);

  3. 我试图运行我的QT作为管理员(看看问题是否由于一些特权问题),没有什么改变

从点1和2的功能,我也试图使用QStandardPaths::GenericDataLocation作为一个标准的位置类型。实际上,我已经尝试了所有类型在这个链接有"ProgramData"在其解释

最后,我得到的都是:

  1. C:/用户/myUser/AppData/{当地|漫游}

  2. /数据
  3. QString .

这看起来像是Qt中的一个bug,已经在QTBUG-44348和QTBUG-40565中报告过了