Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 我怎样才能得到;“程序数据”;使用QStandardPath的路径_C++_Windows_Qt - Fatal编程技术网

C++ 我怎样才能得到;“程序数据”;使用QStandardPath的路径

C++ 我怎样才能得到;“程序数据”;使用QStandardPath的路径,c++,windows,qt,C++,Windows,Qt,有没有一种方法可以使用qstandardpath在QT中获取programmadata路径 详情: 我想知道如何使用QStandardPaths类的函数获取ProgramData路径 我想要跨平台的解决方案,这就是为什么我想要使用QS标准路径。我相信QT提供了这样的解决方案,但我找不到它 人们可能会问我为什么要这样做,或者可能会建议使用ProgramDatapath不好。首先,我计划复制我的应用程序的独立于用户的配置文件。我希望所有用户都能够访问该文件,仅用于阅读。我将在安装步骤中查找必要的文件

有没有一种方法可以使用
qstandardpath
在QT中获取
programmadata
路径

详情:

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

  • QStringList locations=qstandardpath::locateAll(qstandardpath::DataLocation,QString(),qstandardpath::LocateDirectory)

  • QStringList locations2=qstandardpath::standardplocations(qstandardpath::DataLocation)

  • 我试图以管理员的身份运行我的QT(以查看问题是否是由于某些特权问题),但没有任何更改

  • 对于第1点和第2点的函数,我还尝试使用
    QStandardPaths::GenericDataLocation
    作为标准位置类型。实际上,我在link中尝试了所有类型,其中解释中有“ProgramData”

    最后,我得到的是:

  • C:/Users/myUser/AppData/{Local | Roaming}

  • /资料

  • QString

  • 这看起来像是Qt中的一个bug,已经在和中报告过。这并不能直接回答您的问题,但对于存储独立于用户的配置,我建议与一起使用。我们不能使用类似的QString path1=“C:/ProgramData/”;QDir-1(path1);dir1.setFilter(QDir::NoDotAndDotDot | QDir::Files);不确定,只是问问而已