Qt 程序构建完后会生成一个构建文件夹,命名格式以 build-项目文件名-开头。以Qt5.8中自带例子 frozencolumn 为例,构建文件夹名为 build-frozencolumn-Desktop_Qt_5_4_2_MSVC2012_OpenGL-Debug,程序的可执行文件(.exe)就在该文件内(可能在该文件中子文件夹内)。
1. 应用程序当前工作目录绝对路径 currentPath()
1 |
[static] QString QDir::currentPath() |
返回应用程序当前工作目录,该目录不一定是可执行文件所在目录,该路径可以通过 QDir::setCurrent()修改。
2. 应用程序可执行文件所在目录绝对路径applicationDirPath()
1 |
[static] QString QCoreApplication::applicationDirPath() |
返回可执行文件所在目录
3. 应用程序可执行文件的文件绝对路径 applicationFilePath()
1 |
[static] QString QCoreApplication::applicationFilePath() |
4. 示例
可执行文件为 cachedtable
1 |
applicationDirPath = "/home/cd-qz/Qt5.8.0/Examples/Qt-5.8/sql/ |
1 |
applicationFilePath = "/home/cd-qz/Qt5.8.0/Examples/Qt-5.8/sql/ |
1 |
currentPath = "/home/cd-qz/Qt5.8.0/Examples/Qt-5.8/sql/ |
5. 开机自启路径
如果应用程序设置开机自启,注意其工作目录不是已开机后再运行程序的目录。例如在 windows 系统将一个程序设置为开机自启,该程序的可执行文件所在目录为:F:/qt/table/build-frozencolumn-Desktop_Qt_5_4_2_MSVC2012_OpenGL-Debug/debug,开机状态运行程序其当前工作目录也是F:/qt/table/build-frozencolumn-Desktop_Qt_5_4_2_MSVC2012_OpenGL-Debug/debug,但通过开机自启运行时工作目录是C:/Windows/system32,但可执行文件所在目录是不变的,仍为F:/qt/table/build-frozencolumn-Desktop_Qt_5_4_2_MSVC2012_OpenGL-Debug/debug。
相对路径
上级目录: ../
如当前路径为:C:/sql/cachedtable,则../table表示C:/sql/table
资源文件路径