Qt QDir::currentPath()和QAppllication::appllicationDirPath()用法区别

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
2

applicationDirPath =  "/home/cd-qz/Qt5.8.0/Examples/Qt-5.8/sql/
build-cachedtable-Desktop_Qt_5_8_0_GCC_64bit-Debug/bin"

1
2

applicationFilePath =  "/home/cd-qz/Qt5.8.0/Examples/Qt-5.8/sql/
build-cachedtable-Desktop_Qt_5_8_0_GCC_64bit-Debug/bin/cachedtable"

1
2

currentPath =  "/home/cd-qz/Qt5.8.0/Examples/Qt-5.8/sql/
build-cachedtable-Desktop_Qt_5_8_0_GCC_64bit-Debug"

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

资源文件路径

Qt 添加资源文件,:/img/a.png表示a.png文件是所建资源文件夹中的img文件夹的文件

相关文章

显卡天梯图2024最新版,显卡是电脑进行图形处理的重要设备,...
初始化电脑时出现问题怎么办,可以使用win系统的安装介质,连...
todesk远程开机怎么设置,两台电脑要在同一局域网内,然后需...
油猴谷歌插件怎么安装,可以通过谷歌应用商店进行安装,需要...
虚拟内存这个名词想必很多人都听说过,我们在使用电脑的时候...