Qt: 数据目录路径

4
我有一个Qt应用程序,其中有大量数据存储在名为“Data”的文件夹中,该文件夹位于与应用程序qrc文件相同的目录中。
我想让应用程序知道如何找到这个文件夹。我不想将所有数据作为资源文件添加,因为我想能够添加和删除新的数据文件到“Data”目录中,而不必每次重新编译。我不想硬编码相对文件路径,因为执行目录可能会因操作系统、应用程序启动方式等而不同,我也不想硬编码绝对目录,因为如果在不同的机器上编译应用程序,则它们不会相同。
如何使我的应用程序知道在哪里查找数据文件夹?整个项目的目录结构将在任何操作系统/机器上都是相同的。

1
在典型的安装中,这个数据文件夹位于哪里?您是否研究过QDesktopServices的“storageLocation”方法? - andref
2个回答

3

应用程序目录可通过QCoreApplication.applicationDirPath()获得,该函数可通过全局变量qApp访问:

  #include <QApplication>

  ...
  QString appDir = qApp.applicationDirPath();

0

有一个 XML 配置文件,其中包含所有可能的操作系统应用程序组合列表以及相应的读取路径。

在启动时读取配置文件并检查操作系统版本和其他配置,以决定从读取的 XML 文件中使用哪个路径。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接