问题原因:主要是QT没有加载ros环境变量
方法:
步骤1、设置快捷方式
-
这一步将要修改Qt Creator快捷方式,使从快捷方式启动Qt Creator的同时加载ROS环境变量。
-
打开terminal,输入下面的命令:
-
$ gedit ~/.local/share/applications/DigiaQtOpenSource-qtcreator.desktop
- 这条命令将打开DigiaQtOpenSource-qtcreator.desktop快捷方式文件,可以看到文件内容如下:
-
[Desktop Entry] Type=Application Exec=/home/ubu/Qt5.8.0/Tools/QtCreator/bin/qtcreator Name=Qt Creator (Community) GenericName=The IDE of choice for Qt development. Icon=QtProject-qtcreator Terminal=false Categories=Development;IDE;Qt; MimeType=text/x-c++src;text/x-c++hdr;text/x-xsrc;application/x-designer;application/vnd.qt.qmakeprofile;application/vnd.qt.xml.resource;text/x-qml;text/x-qt.qml;text/x-qt.qbs;
-
修改 Exec 变量一行,中间添加 bash -i -c 即改为 Exec=bash -i -c /home/ubu/Qt5.8.0/Tools/QtCreator/bin/qtcreator ,保存并退出。
-
添加 bash -i -c 是为了在通过快捷方式启动Qt Creator的同时加载ROS环境变量
-
如果打开的文件是空,则表示没有找到DigiaQtOpenSource-qtcreator.desktop文件
-
可能是安装路径不在本地用户目录下,或者版本不同导致的文件名不一致。
-
可以在 ~/.local/share/applications/ 和 /usr/share/applications/ 两个路径下用 ls qt 命令找找看。
-
如果没有上述快捷方式文件,自己新建一个,只要文件内容类似上面的类容,路径正确即可。
-
快捷方式可以放在 ~/.local/share/applications/ 和 /usr/share/applications/ 两个位置。
-
当然也可以放在任意其他位置,功能跟放在上面两个位置一样,但左边的任务栏不会正确显示图标
步骤 2、设置ros2环境变量
终端输入 :$ gedit ~/.bashrc
打开文件在末尾输入:保存并退出。我的ros版本是ros2 foxy,具体根据自己的ros版本输入;
source /opt/ros/foxy/setup.bash