如何获取Qt应用程序的当前工作目录路径?

时间:2013-07-15 04:17:49

标签: c++ qt

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

我上传的图片描述了我想要获得的路径。

enter image description here

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

谢谢!

3 个答案:

答案 0 :(得分:9)

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

goto: projects-> [environment] - > run->工作目录

答案 1 :(得分:1)

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

答案 2 :(得分: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