9

我正在使用 Qt 库用 C++ 编写程序。我想获取我的程序的当前工作目录。我找到了QDir::currentPath()QCoreApplication::applicationDirPath()函数,但它们返回了应用程序可执行文件所在的目录。我不想获取包含应用程序可执行文件的目录。

我已经上传了描述我想要获取的路径的图像。

在此处输入图像描述

有没有人有任何解决方案?

谢谢!

4

3 回答 3

13

您的应用程序无法知道项目在哪里,因为这是一个 qt-creator 选项。如果要在项目路径中运行二进制文件,则必须将 qt-creator 中的工作目录设置正确的路径。然后QDir::currentPath()将返回您想要的路径。

转到:项目-> [环境]->运行->工作目录

于 2013-07-15T04:25:30.430 回答
2

Checkout QCoreApplication::applicationDirPath(),它试图找出可执行文件所在的目录,而不是检查当前的工作目录

于 2015-12-05T17:53:30.493 回答
0

源代码目录可通过qmake变量获得,并且可以“定义”以在 C++ 源文件中访问:

# Demo.pro:
# set PROJECT_PATH to the "project path" with a trailing slash
DEFINES += PROJECT_PATH=\"\\\"$${_PRO_FILE_PWD_}/\\\"\"

// mainwindow.cpp
qDebug() << "Able to find main.cpp?..." 
         << QFile::exists(PROJECT_PATH "main.cpp"));

输出:

Able to find main.cpp?... true
于 2020-03-10T01:00:23.953 回答