下载Qt

  • S1:sudo apt-get install qtcreator可能安装版本太久,所以官网安装:https://download.qt.io/archive/qt/
  • S2:选择版本https://download.qt.io/archive/qt/5.9/5.9.9/: qt-opensource-linux-x64-5.9.9.run
  • S3:进入安装目录下,更改执行权限:chmod a+x qt-opensource-linux-x64-5.9.9.run
  • S4:双击安装,一直next,安装组件选择Desktop gcc 64-bit即可,其他按需安装
  • S5:然后在安装目录下双击Qtreator就可以运行了,但是为了方便,因此添加到环境变量sudo nano /usr/bin/qtcreator
    添加如下内容:
#!/bin/sh
export QT_HOME=/home/guyue/Qt5.9.9/Tools/QtCreator/bin
$QT_HOME/qtcreator $*

ctrl+o写入,ctrl+x退出

  • S6:添加执行权限:sudo chmod a+x /usr/bin/qtcreator
  • S7:终端运行:qtcreator

ROS依赖

  • S1:安装依赖

    sudo apt-get install ros-melodic-qt-create
    
    sudo apt-get install ros-melodic-qt-build
    
    # sudo apt-get install qtmultimedia5-dev
    
  • S2:创建Qt功能包

    catkin_create_qt_pkg 功能包名 依赖1 依赖2
    
    # 示例:
    cd ~/am_ws/src
    catkin_create_qt_pkg class1_ros_qt_demo roscpp rviz
    

  • S3.1:此时catkin_make会报错,进行如下修改:

    # 1/ 设置包含当前目录:
    set(CMAKE_INCLUDE_CURRENT_DIR ON)
    
    
    # 2/ 添加qt库:
    find_package(Qt5 REQUIRED Core Widgets)
    set(QT_LIBRARIES Qt5::Widgets)
    
    
    # 3/ 删除:
    
    rosbuild_prepare_qt4(QtCore QtGui)
    
    
    # 4/ 更改
    # QT4_ADD_RESOURCES(QT_RESOURCES_CPP) ${QT_RESOURCES})
    # QT4_WRAP_UI(QT_FORMS_HPP ${QT_FORMS})
    # QT4_WRAP_CPP(QT_MOC_HPP ${QT_MOC})
    
    # 改为:
    QT5_ADD_RESOURCES(QT_RESOURCES_CPP) ${QT_RESOURCES})
    QT5_WRAP_UI(QT_FORMS_HPP ${QT_FORMS})
    QT5_WRAP_CPP(QT_MOC_HPP ${QT_MOC})
    

具体在CMakeList.txt中的修改可以参考下图:

  • S3.2:此时再次编译还会报错,需要更改~/am_ws/src/class1_ros_qt_demo/include/class1_ros_qt_demo/main_window.hpp文件,将:#include <QtGui/QMainWindow>,改为:#include <QtWidgets/QMainWindow>
  • S4:然后一切正常就可以进行测试了

测试

  • S1:运行下述指令,出现画面:

    rosrun class1_ros_qt_demo class1_ros_qt_demo
    

  • S2:运行roscore,此时点击上述界面的connect,即进行连接

Qt编译ROS工程

  • S1:配置Qt的ROS环境
    使用Qt打开工作空间/src下的CmakeList.txt;
    配置build目录为工作空间/build
    然后点击Configure Project
    注意打开的是工作空间src下的CmakeList,而不是功能包的

  • S1.2:如果项目不能正常打开

  • S1.3:头文件都在<Headers>里面,点击打开头文件,按F4键可以切换头文件和对应的cpp文件

  • S2:运行配置点击project,然后选择run,在run configure里设置需要运行的,如果为空,可以点击add按钮添加

  • S3:然后点击绿色图标运行即可

Qt的一些组件


参考

  • 视频参考古月居:

笔记参考:https://blog.csdn.net/weixin_51524504/article/details/121465413