一开始用下面的命令获取当前路径:
qDebug()<<"当前路径"<<QDir::currentPath();
得到下面的路径,显然是build目录下
D:\data\build-ros_ur_gui-Desktop_Qt_5_14_0_MinGW_64_bit-Debug
用下面的函数以及命令可以修改路径:
QDir directoryOf(const QString &subdir)
{
QDir dir(QApplication::applicationDirPath());
// qDebug()<<dir.dirName();
#if defined(Q_OS_WIN)
if (dir.dirName().startsWith( "build")
|| dir.dirName().startsWith( "release")
|| dir.dirName().startsWith("bin"))
dir.cdUp();
#elif defined(Q_OS_MAC)
if (dir.dirName() == "MacOS") {
dir.cdUp();
dir.cdUp();
dir.cdUp();
}
#endif
dir.cd(subdir);
return dir;
}
同时下面的这句话实现了一个完整的图片路径:
QString car_pic_path=QFile(directoryOf("ros_ur_gui").absoluteFilePath("car.png")).fileName();
再次或当前路径,可以得到我想要的路径了:
当前路径 "D:/data/ros_ur_gui"