我有一个Qt应用程序,其中包含大量数据存储在名为“Data”的文件夹中,该文件夹位于与应用程序qrc文件相同的目录中。
我想以某种方式让应用程序知道在哪里找到这个文件夹。我不想将所有数据添加为资源文件,因为我希望能够在Data目录中添加和删除新数据文件,而无需每次都重新编译。我不想对相对文件路径进行硬编码,因为执行目录可能因操作系统,应用程序的启动方式等而有所不同,而且我不想对绝对目录进行硬编码,因为如果应用程序是,它们将不相同在不同的机器上编译。
如何让我的应用程序知道在哪里查找数据文件夹?无论操作系统/机器是什么,整个项目的目录结构都是相同的。
答案 0 :(得分:3)
应用程序目录可通过QCoreApplication.applicationDirPath()获得,可通过全球qApp
:
#include <QApplication>
...
QString appDir = qApp.applicationDirPath();
答案 1 :(得分:0)
有一个xml配置文件,其中包含OS应用程序的所有可能组合的列表以及要读取的相应路径。
在启动时读取配置文件并检查操作系统版本和其他配置以确定从xml文件中使用哪条路径读取