c++ - Qt:数据目录的路径

标签 c++ qt

我有一个 Qt 应用程序,其中有大量数据存储在名为“Data”的文件夹中,该文件夹与应用程序 qrc 文件位于同一目录中。

我想以某种方式让应用程序知道在哪里可以找到这个文件夹。我不想将所有数据添加为资源文件,因为我希望能够在 Data 目录中添加和删除新数据文件,而不必每次都重新编译。我不想对相对文件路径进行硬编码,因为执行目录可能因操作系统、应用程序的启动方式等而异,而且我不想对绝对目录进行硬编码,因为如果应用程序是,它们将不相同在不同的机器上编译。

如何让我的应用程序知道在哪里寻找数据文件夹?整个项目的目录结构将是相同的,无论它在什么操作系统/机器上。

最佳答案

应用程序目录可通过 QCoreApplication.applicationDirPath() 获得,可通过全局 qApp 获得:

  #include <QApplication>

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

关于c++ - Qt:数据目录的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15622167/

相关文章:

c++ - 为什么我需要将reinterpret_cast从 `long &`到 `int &`,其中两者都是32位(Windows LLP64)?

c++ - cv-qualified 是什么意思?

c++ - 从双端队列中删除时出错

c++ - QT运行时崩溃

c++ - 不完整类型 'class Ui::dialog 的使用无效(QT 错误)

c++ - AMQP-CPP > 处理程序中的错误文件描述符

C++ - 将字符串复制到 char* 不适用于 OpenSSL 中的 HMAC-SHA1

c++ - 如何使用带有函数指针的新 QObject::connect 语法将 QSslSocket::error 信号连接到插槽?

c++ - Qt:QAbstractItemView::NoEditTriggers 的对立面是什么?

c++ - QT 5.6.1 应用程序仅在 x86 arch 而不是 x64 上退出插槽后崩溃