ROS QtCreator GUI开发环境搭建

ROS QtCreator GUI开发环境搭建

前言

  • 操作系统:Ubuntu18.04LTS
  • ROS版本:melodic

安装pkg

$ sudo apt-get install ros-melodic-qt-create
$ sudo apt-get install ros-melodic-qt-build

安装 ROS Qt Creator Plug-in

参考:https://ros-qtc-plugin.readthedocs.io/en/latest/_source/How-to-Install-Users.html#qt-installer-procedure

使用命令行启动 QtCreator

$ qtcreator-ros

如果启动失败,可能的原因是安装过其它版本的Qt。打开 QtCreator ROS 插件的安装目录,在lib目录下可以看到这个插件依赖的是Qt5.12.4,因此需要安装该版本的Qt.

安装Qt5

下载离线安装包 qt-opensource-linux-x64-5.12.4.run,进行安装。

配置环境变量

  1. 在用户目录下编辑 .bashrc 文件
$ vim ~/.bashrc
  1. 在末尾添加以下四行
# 配置QT
export QTDIR=/home/cs/programs/Qt5.12.4/5.12.4/gcc_64
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QT_SELECT=Qt5.12.4
  1. 更新配置
$ source ~/.bashrc

使用 qtchooser 制定Qt版本

$ qtchooser -install Qt5.12.4 /path/to/Qt5.12.4/qmake/file

查看当前qmake版本

$ qmake -v

如果显示qmake的版本是5.12.4,则可运行 qtcreator-ros 启动QtCreator。

建立QtCreator工作区

  1. 启动 QtCreator ,打开【文件】/【新建文件或项目】,选择【其他项目】/【ROS Workspace】,点击【Choose】。
  2. 输入名称,比如 catkin_qt ,工作目录选中 catkin 的工作目录。名称要与工作目录的名称一致。
  3. 退出 QtCreator 。

测试

  1. 创建一个带GUI的包
$ cd ~/catkin_qt/src
$ sudo ros_create_qt_pkg qt_ros_test

这样创建的包,默认采用的 Qt4 作为图形界面的库,需要在下一步中修改为 Qt5 。
2. 重新打开 QtCreator 工作区,编辑 qt_ros_test/CMakeList.txt 文件。

##############################################################################
# CMake
##############################################################################

cmake_minimum_required(VERSION 2.8.0)
project(qt_ros_test)

# 添加下面一行,避免找不到 ui_main_window.hpp 头文件错误。
SET(CMAKE_INCLUDE_CURRENT_DIR ON)

##############################################################################
# Catkin
##############################################################################

# qt_build provides the qt cmake glue, roscpp the comms for a default talker
find_package(catkin REQUIRED COMPONENTS roscpp) # 删除 qt_build

# 添加下面两行
find_package(Qt5 REQUIRED Core Widgets)
set(QT_LIBRARIES Qt5::Widgets)

include_directories(${catkin_INCLUDE_DIRS})
# Use this to define what the package will export (e.g. libs, headers).
# Since the default here is to produce only a binary, we don't worry about
# exporting anything. 
catkin_package()

##############################################################################
# Qt Environment
##############################################################################

# this comes from qt_build's qt-ros.cmake which is automatically 
# included via the dependency call in package.xml
# 注释下面一行,禁用 Qt4 。
#rosbuild_prepare_qt4(QtCore QtGui) # Add the appropriate components to the component list here

##############################################################################
# Sections
##############################################################################

file(GLOB QT_FORMS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ui/*.ui)
file(GLOB QT_RESOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} resources/*.qrc)
file(GLOB_RECURSE QT_MOC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} FOLLOW_SYMLINKS include/qt_ros_test/*.hpp)

# 注释下面三行,禁用 Qt4 。
#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 。
QT5_ADD_RESOURCES(QT_RESOURCES_CPP ${QT_RESOURCES})
QT5_WRAP_UI(QT_FORMS_HPP ${QT_FORMS})
QT5_WRAP_CPP(QT_MOC_HPP ${QT_MOC})


##############################################################################
# Sources
##############################################################################

file(GLOB_RECURSE QT_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} FOLLOW_SYMLINKS src/*.cpp)

##############################################################################
# Binaries
##############################################################################

add_executable(qt_ros_test ${QT_SOURCES} ${QT_RESOURCES_CPP} ${QT_FORMS_HPP} ${QT_MOC_HPP})
target_link_libraries(qt_ros_test ${QT_LIBRARIES} ${catkin_LIBRARIES})
install(TARGETS qt_ros_test RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION})
  1. 编辑 qt_ros_test/package.xml 文件。
<?xml version="1.0"?>
<package>
  <name>qt_ros_test</name>
  <version>0.1.0</version>
  <description>

     qt_ros_test

  </description>
  <maintainer email="cs@gmail.com">cs</maintainer>
  <author>cs</author>
  <license>BSD</license>
  <!-- <url type="bugtracker">https://github.com/stonier/qt_ros/issues</url> -->
  <!-- <url type="repository">https://github.com/stonier/qt_ros</url> -->

  <buildtool_depend>catkin</buildtool_depend>
  <!--<build_depend>qt_build</build_depend>--> <!--注释此行-->
  <build_depend>roscpp</build_depend>
<!--  <build_depend>libqt4-dev</build_depend>--><!--注释此行,禁用 qt4-->
<!--  <run_depend>qt_build</run_depend>--><!--注释此行-->
  <run_depend>roscpp</run_depend>
<!--  <run_depend>libqt4-dev</run_depend>--><!--注释此行,禁用 qt4-->

<!-- 添加下面四行,启用 qt5 -->
  <build_depend>qtbase5-dev</build_depend>
  <run_depend>libqt5-core</run_depend>
  <run_depend>libqt5-gui</run_depend>
  <run_depend>libqt5-widgets</run_depend>
 
</package>
  1. 右键项目目录 catkin_qt ,点击【构建/build】
  2. 在 QtCreator 中打开 ROS Terminals 窗口,运行 roscore 。
  3. 在 QtCreator 中按【Ctrl+5】切换到项目模式,选择【Build&Run】/【Run】,在运行栏中指定可执行文件和工作目录,分别为 ~/catkin_qt/devel/lib/qt_ros_test/qt_ros_test 和 ~/catkin_qt/devel/lib/qt_ros_test 。
  4. 运行测试包
    执行【Ctrl+R】或点击 QtCreator 左下角三角形。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ROS Qt Creator插件是为了更方便地使用ROS(Robot Operating System)开发环境而开发的一款插件。Qt Creator是一款跨平台的集成开发环境,可以用于开发C++应用程序。而ROS是一个开源的机器人操作系统,它提供了一系列的工具和库,用于构建机器人系统。 该插件允许开发人员在Qt Creator中轻松创建、编译和调试ROS程序。它为Qt Creator添加了ROS项目模板和工具栏,提供了ROS特定的功能和选项。开发人员可以通过插件创建ROS工作区,创建和管理ROS软件包,添加ROS节点和话题等。 使用该插件可以极大地简化ROS程序的开发流程。开发人员无需手动创建ROS程序的目录结构和编译系统,插件已经为他们自动创建好了。开发人员可以使用插件提供的ROS工作区管理功能,方便地管理和组织ROS软件包。而且,插件还提供了ROS编译系统的集成,可以一键编译ROS程序,查看编译错误和警告。 此外,该插件还为开发人员提供了ROS节点的创建和调试功能。开发人员可以在插件中快速创建ROS节点,并且可以直接在Qt Creator中调试它们。插件还支持ROS话题的发布和订阅,开发人员可以通过插件方便地查看和修改ROS话题的数据。 总之,ROS Qt Creator插件可以大大提高ROS程序的开发效率和调试效率。它为开发人员提供了一套便捷的开发工具和功能,帮助他们更轻松地构建功能强大的ROS应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值