【QT】Ubuntu 16如何使用qt creator加载或者创建ros工程

(二)在QT中添加ROS项目+简单的利用QT推送消息+RVIZ显示插件接收消息 参考下面文章。 阅读详情

背景:

通过qt creator来编写,编译,运行ros程序包。ros程序包也可以带有界面。其工程是一个ros工程(不是.pro,而是cmakelist.txt),使用cmake编译方式。

步骤:

(1)安装QT(最新版本):

见 https://blog.youkuaiyun.com/ipfpm/article/details/80698659

(2)设置快捷方式:这一步将要修改Qt Creator快捷方式,使从快捷方式启动Qt Creator的同时加载ROS环境变量。

这条命令将打开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/ 两个位置。

  • 当然也可以放在任意其他位置,功能跟放在上面两个位置一样,但左边的任务栏不会正确显示图标

  • 注意:如果不加入上面的话,加载编译带有ros的程序会报错
    :-1: warning: librosconsole_backend_interface.so, needed by /opt/ros/kinetic/lib/librosconsole.so, not found:-1: error: collect2: error: :-1: warning: libcpp_common.so, needed by /opt/ros/kinetic/lib/libroscpp.so, not found (try using -rpath or -rpath-link)
    
    ld returned 1 exit status

     

(3)安装ros_qtc_plugin插件(用时很长)

sudo add-apt-repository ppa:levi-armstrong/qt-libraries-xenial 
sudo add-apt-repository ppa:levi-armstrong/ppa 
sudo apt-get update && sudo apt install qt59creator 
sudo apt-get install qt57creator-plugin-ros

安装该插件会自带有一个qtcreator,版本是qt5.9

因此,需要修改系统配置文件让Qt启动器选择最新版的Qt.

sudo gedit /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
将
/usr/lib/x86_64-linux-gnu/qt4/bin
/usr/lib/x86_64-linux-gnu
换成自己安装的最新的qt的gcc文件

/home/XXX/Qt5.10/5.10/gcc_64/bin
/home/XXX/Qt5.10/5.10/gcc_64/lib

如果自己安装了多个QT,可修改

/usr/lib/x86_64-linux-gnu/qtchooser/default.conf
和
/usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf

注:如果不执行第一个步骤安装Qt,直接使用安装该插件带的qt也可以.

(4)安装ros,配置ROS环境:

见:      https://mp.youkuaiyun.com/postedit/83504391

截止到这基本上大功告成.

可以有两种方式创建ROS项目:一种是直接使用qt还有一种是先通过命令行然后在使用qt进行编译分别见4跟5

(4)ros_qtc_plugin插件新建ROS项目(使用qt creator创建ros工程)

(4.1)新建项目:

“文件”——“新建文件或项目”,选择”Import ROS Workspace”——“choose”

(4.2)填写名称地址:其中在选择地址的时候,新建一个文件夹,文件夹的名称跟刚刚填写的工作区间的名称一样:

(4.3)点击完成:

(4.4)在右上角有个filter tree,打开后,将勾选去掉,会显示隐藏的文件,下一步会用到.

(4.5)创建package:在catkin_test下面的src上右键单击,选择“添加新文件”

(4.6)填写如下:

(4.7)添加节点:如果没有出现src以及include文件夹说明:第4步骤的filter tree没有去掉勾选.在对应packageexample下的src右键-->add new

(4.8)节点名字为node1,生成如下nodecpp文件,是一个hello word的程序.然后编译节点:

  • 编译节点,为example的CMakeLists.txt加上下面几行,意思是把node1.cpp编译成名为node1的节点

  • 再后面include_directories,添加

  • add_executable(node1 src/node1.cpp)
    target_link_libraries(node1
      ${catkin_LIBRARIES}
    )

    如下:

修改完CMakeLists.txt之后点击Qt左下角的锤子图标,即对其进行编译,点击底边栏的“4 编译输出”可以看到编译结果,如下图:

(4.9)运行节点:

  • ctrl + alt + T,新终端:rescore
  • 在qt的Build&Run”页,设置: add run step ----> ros run step
  • 点击底栏的带有上下三角的按钮,点击ros terminate
  • 点击绿色运行箭头运行节点:出来hello word

(5)ros_qtc_plugin插件进行ros工程的gui界面开发(用命令行创建带有界面的ros后,使用qt creator打开编辑ros工程)

(5.1)命令行安装ros的某个包

sudo apt-get install ros-kinetic-qt-ros

sudo apt-get install ros-kinetic-qt-create

sudo apt-get install ros-kinetic-qt-build

(5.2)手动命令行创建对应的文件以及工作空间:

mkdir catkin_test

cd catkin_test

mkdir src

cs src

catkin_create_qt_pkg gui1 roscpp

(5.3)打开qt,新建文档--工作区间的名称跟catkin_test一样,路径选择成对应新建的文件夹catkin_test

打开后如下:

对其进行编译,编译后设置运行目录:项目-->运行-->add run step:

新开终端:roscore

在qt上运行就会出现界面.

 

说明:

通过上面的方法进行开发界面的时候得到的cmakelist中包含的qt库是qt4的库,因为安装得到的qtcreator是qt4,如何创建一个qt 5库呢?可以自行百度,也可以查看链接:

https://blog.youkuaiyun.com/ipfpm/article/details/88573199

参考:

https://www.ncnynl.com/archives/201701/1277.html

https://blog.youkuaiyun.com/u013453604/article/details/52186375

http://www.cnblogs.com/fuhang/p/9783050.html

https://blog.youkuaiyun.com/u013453604/article/details/52167213

https://blog.youkuaiyun.com/softimite_zifeng/article/details/78632211

ubuntu16.04安装带有rqt插件的qt做ide 一、首先安装带有rqt插件的qt sudo add-apt-repository ppa:levi-armstrong/qt-libraries-xenial sudo add-apt-repository ppa:levi-armstrong/ppa sudo apt update && sudo apt install qt57creator sudo apt install ... 阅读详情

相关推荐

告别命令行!用Qt Creator插件ros_qtc_plugin打造你的ROS图形化开发工作站(Ubuntu 20.04 + ROS Noetic)

本文介绍如何利用Qt Creator插件ros_qtc_plugin打造高效的ROS图形化开发环境,特别针对Ubuntu 20.04和ROS Noetic进行优化配置。通过该插件,开发者可以告别繁琐的命令行操作,享受智能项目管理、集成调试工具链等核心功能,显著提升开发效率。

weixin_33701617的博客 600

在 Qt Creator 上创建 ROS 项目并新建/导入 ROS 包

本文将着手探讨如何在 Qt Creator 上编辑 ROS 项目(工作空间)

YMGogre的博客 1万+

ROS Qt插件实战:从零搭建高效机器人开发环境

本文详细介绍了如何使用ROS Qt插件(ros_qtc_plugin)从零搭建高效的机器人开发环境。通过将Qt Creator改造为专为ROS定制的IDE,开发者可以在一个界面中完成工作区创建、包管理、代码编写、编译调试等所有操作,显著提升开发效率。文章还提供了环境准备、安装避坑指南、工程管理实战技巧以及高级功能深度应用的详细教程,帮助开发者快速上手并优化ROS开发流程。

weixin_33696106的博客 520

Qt+ROS+ubuntu18.04配置教程(带界面)

Qt+ROS+ubuntu18.04配置教程(带界面) 1. 安装ROS Qt Creator Plug-in 首先安装ROS Qt Creator Plug-in,这其实是一个带有ROS插件的Qt Creator:去下面的网址https://ros-qtc-plugin.readthedocs.io/en/latest/_source/How-to-Install-Users.html#qt-installer-procedure,根据自己的ubuntu版本选择对应的下载版本,有在线安装和离线安装两种安装

qq_38222947的博客 7595

告别命令行!在Ubuntu 20.04上用Qt Creator 10.0.1打造你的ROS Noetic专属IDE(保姆级避坑指南)

本文详细介绍了如何在Ubuntu 20.04上使用Qt Creator 10.0.1打造专为ROS Noetic优化的集成开发环境(IDE),提供从环境准备、插件安装到高效开发技巧的全方位指南。通过Qt Creator的ROS插件支持,开发者可以享受代码智能补全、集成调试和项目管理等现代化功能,显著提升ROS开发效率。

weixin_30702441的博客 254

VMware安装Ubuntu开发环境:嵌入式与ROS2/PX4实战指南

虚拟机环境是现代Linux开发的关键基础设施,尤其在Windows主机上运行Ubuntu等Linux发行版时,虚拟化技术提供了硬件复用、环境隔离与团队协作一致性的统一解。VMware Workstation凭借成熟的快照管理、网络控制和共享文件夹能力,成为嵌入式开发、ROS2机器人系统及PX4无人机仿真等场景的首选虚拟化平台。其与Ubuntu 22.04 LTS的深度适配,支持内核5.15+、Python 3.10+及GPU加速渲染,在Gazebo仿真、VS Code远程开发等典型工作流中显著提升调试效率与

germmy-神一样的开发 1006

【ubuntu】如何使用qt creator创建一个ros ui界面

背景: qt creator(版本5.10.1) + ubuntu 16 步骤: (1)安装qt 5.10.1: https://blog.youkuaiyun.com/ipfpm/article/details/80698659 (2)配置qt creator 设置快捷方式:这一步将要修改Qt Creator快捷方式,使从快捷方式启动Qt Creator的同时加载ROS环境变量。 这条命令将打开...

ipfpm的博客 3949

ROS 2首个正式版Ardent Apalone技术解析与工程实践

ROS 2是面向实时、安全与跨平台场景的机器人中间件演进核心,其架构以DDS为通信基石、C API为稳定锚点、分层抽象为设计范式。理解ROS 2的原始设计逻辑,是掌握参数系统、生命周期管理、QoS策略及RMW中间件耦合机制的关键前提。Ardent Apalone作为首个非Beta正式版,完整实现了rcl C接口、ament_cmake构建体系与三类DDS中间件支持,虽已EOL,却因其精简性与ABI稳定性,成为逆向分析ROS 2底层原理、适配老旧产线设备及开展嵌入式教学的不可替代标尺。本文深入剖析其平台约束、

tomfish 501

使用QT进行ROS开发(配置及使用)——ros_qtc_plugin

参考博客:Ubuntu16.04+Qt5.5.1+ROS安装配置 Qt5基本教程如何使用Qt插件在Qt中进行ROS开发     如何用Qt对ROS项目进行调试及创建GUI界面1、Linux版本:Ubuntu 16.04 LTS;Ubuntu 16.04.3 LTS (前者下载略快)\2、安装ROS(版本:kinetic):Ubuntu install of ROS Kinetic3、安装QT5:Q...

Musing的博客 1458

ROS2 rviz2 深度调试:Eclipse Oxygen C++ IDE 配置实战

在 ROS2 开发中,rviz2 作为核心可视化工具,其 C++ 实现复杂、依赖 Qt5 与 pluginlib 插件机制,导致传统命令行调试效率低下、符号缺失、断点难设。理解其渲染管线、Display 插件加载逻辑及 Ogre-Qt 集成原理,是进阶开发者定位坐标系异常、自定义显示组件或修复崩溃的关键。本文聚焦于构建一个可深度介入的 C++ 调试环境——以 Eclipse Oxygen 为载体,结合 CDT 9.4.3 与 EGit 5.1.0,解决 ament 构建链兼容性、多 vendor 包头文件索

weixin_30709061的博客 285

告别AppImage:在Ubuntu上源码编译QGroundControl地面站(QT项目实战)

本文详细介绍了在Ubuntu系统上源码编译QGroundControl地面站的完整流程,涵盖环境配置、源码获取、编译优化及调试技巧。针对PX4无人机仿真环境开发者,提供了QT项目实战指南,帮助实现深度定制和性能优化,解决AppImage兼容性问题。

weixin_29284201的博客 234

Qt + ROS 开发环境搭建

我这里的 Name 和 catkin 工作空间文件夹名字相同(也可以不同)名为 catkin_ws_qt,然后选择“浏览” ——“创建文件夹”,创建一个名为 catkin_ws_qt 的文件夹,按回车,再选择“打开”。使用插件的“新建项目”中的“Import ROS Workspace”选项不仅可以新建工作空间还可以导入现有的工作空间,而“新建文件”中的“ROS”下面的“Package”、“Basic Node”等选项可以创建 package 和和节点、 launch 文件、 urdf 文件等。

yangxueyangxue的博客 1070

【C++】ROS:Qt&ROS界面开发环境搭建

Qt Creator是一个比较好的工程编辑器,通过安装ros插件使得可以在Qt中创建ros工程,免去了很多繁琐步骤。

DevFrank的博客 3454

Ubuntu16.04 安装Qt Create 和Qt Create with ROS Plug-in

1、QT官网下载地址:http://download.qt.io/archive/qt/ 2、安装:sudo ./qt-opensource-linux-x64-5.12.9.run (文件名根据自己的来) 3、修改环境变量的文件 default.conf gedit /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf 将第一行改为bin目录的路径,第二行改为qt5.12.9目录的路径。 /opt/Qt5.10.0/5...

woodgril的博客 812

QtCreator与catkin命令两种方式开发ROS程序(图示加代码)

QtCreator与catkin命令两种方式开发ROS程序一、Qt Creator安装及开发ROS1.安装Qt Creator2.使用Qt Creator开发ROS1.创建工作空间2.创建程序包3.创建节点4.编译及运行编译运行 最近学习无为斋主的《机器人ROS开发实践》的ROS编程部分,编译运行遇到了一些麻烦,所以记录下来,以免忘记和方便他人学习。 ROS编译运行有两种方式:1、用IDE开发工具...

shao918516的博客 2930

GPU加速的容器化AI开发:AnolisOS/CentOS8中的NVIDIA驱动与CUDA最佳实践

本文详细介绍了在AnolisOS/CentOS8系统中配置NVIDIA驱动与CUDA的最佳实践,涵盖驱动安装、CUDA工具链配置、容器运行时设置及性能优化等关键步骤。特别针对容器化AI开发场景,提供了GPU透传和资源管理的实用方案,帮助开发者构建高效的GPU加速开发环境。

weixin_27791839的博客 341

Ubuntu16.04 Qt creator ROS配置

修改~/.bashrc,加入ros运行环境 Ubuntu下ros安装完后需要手动修改~/.bashrc内容,加入source /opt/ros/kinetic/setup.bash 此时在终端中输入: $ env 可以看到打印的环境变量中 CMAKE_PREFIX_PATH 包含/opt/ros/kinetic,表明ros环境变量配置完成   ## 修改Qtcreator启动快捷方式,...

l1647701398的博客 3461

Unity 2021 LTS安装避坑指南:从下载到第一个3D项目的完整流程

本文提供了一份详尽的Unity 2021 LTS安装与首个3D项目创建指南。内容涵盖从Unity Hub下载、版本选择、模块安装避坑,到编辑器界面解析、创建旋转立方体脚本的完整流程,旨在帮助初学者快速搭建稳定开发环境并上手核心操作。

mango的博客 308

ROS Qt IDE搭建,不使用ros-qt-pluge插件

安装Qt 直接在Qt的官方网站上下载qt的IDE,我的计算机系统是Ubuntu 16.04.使用qt的版本为Qt 5.10.1,经过自己摸索,自己找到了正确的方法,在此和大家分享,同时也作为自己日后的笔记 qt的安装就直接在官网上下载自己想要下载的版本,然后就可以直接进行操作,用Qt来进行我自己的相关的ROS的学习,同事通过这样自己对cmake相关的宏和相关的参数也会能有一个更进一步的...

wen的博客 1071

ComfyUI-Impact-Subpack插件安装避坑指南:为什么你的UltralyticsDetectorProvider节点还是找不到?

本文深入解析了ComfyUI-Impact-Subpack插件的安装与排障问题,特别是针对UltralyticsDetectorProvider节点缺失的常见问题提供了详细的解决方案。从底层机制到高阶应用,涵盖了手动安装、模型配置、性能优化等关键步骤,帮助用户彻底解决插件依赖关系断裂问题。

Jerry的专栏 1152

C/C++关于VScode报错“终端将被任务重用,按任意键关闭”的解决方案

这其实不是一种报错,有这个提示的原因是本地端口是被共享的,所以必须关闭一个进程才能执行另一个,只需要对 tasks.json文件做一些修改即可。 报错时候 此时的tasks.json为: { "version": "2.0.0", "command": "g++", "args": ["-g","${file}","-o","${fileDirname}/${fileBasenameNoExtension}.exe"], // 编译命令参数 "problemMatche

Jerry Man的博客 6424

ROS Indigo安装实战:老旧机器人系统的工程适配指南

ROS(Robot Operating System)是一个面向机器人开发的元操作系统,其核心依赖于特定Linux发行版、Python版本与底层库(如Boost、OpenCV)的严格兼容。ROS Indigo作为基于Ubuntu 14.04和Python 2.7的长期稳定发行版,虽已EOL,但在工业AGV、高校实验平台及经典论文复现等场景中仍具不可替代性。其技术价值在于提供经过充分验证的实时通信框架(roscpp/rosgraph)与成熟导航栈(slam-gmapping/move_base),但面临归档源

weixin_30680385的博客 339

Transformer模型在时间序列预测中的应用:价格和产量预测

Transformer模型由Attention is All You Need论文提出,并在机器翻译任务上取得了巨大成功。其主要特点是使用自注意力机制代替传统的递归或卷积操作进行序列建模。Transformer模型由编码器和解码器组成,其中编码器用于学习输入序列的表示,解码器用于生成目标序列。在时间序列预测中,我们只需要使用Transformer的编码器部分。编码器将历史数据作为输入,学习一个表示,然后使用该表示来预测未来的数值。

HnrzLinux的博客 736
上一篇: 【QT】QT的学习:在QML中使用AJAX向某服务器发送请求获取数据
下一篇: 【Ubuntu】Ubuntu中安装配置ROS
ipfpm
博客等级 码龄9年 98粉丝 51原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值