linux qt开发上位机,QT开发 ROS上位机界面
前言
最近在给ROS机器人做上位机界面,因为有点C++的基础,也就选择了绿油油的QT来做。作为刚入门的小白,单单是配环境就折磨了我好几天(半路出家,好多坑得爬),做点笔记,但愿以后别重新踩坑,也希望能对大家有所帮助。本文方法并没有使用 ros_qtc_plugin。
一、QT和ROS的安装
1.下载QT
QT的我装的是5.12.6版本 ,作为LTS的最新版本感觉靠谱一点,下载链接如下。
下载相应run格式的安装文件
2.安装QTchmod +x qt-opensource-linux-x64-5.12.6.run #给run文件执行权限
./qt-opensource-linux-x64-5.12.6.run #运行安装
然后一路next,skip。
到这步记得勾选 Qt 5.12.6 Desktop gcc 64-bit 组件
要设置相应的环境变量sudo gedit ~/.bashrc #在末尾添加下面几行
export Qt5_DIR=~/opt/5.12.6/gcc_64 #设置Qt5_DIR 变量
export PATH=~/opt/5.12.6/gcc_64/bin:$PATH #添加Linux 命令行搜索路径
export LD_LIBRARY_PATH=~/opt/5.12.6/gcc_64/lib:$LD_LIBRARY_PATH #添加动态库的搜索路径
二、ROS的安装
我的使用的是安装脚本安装,比较方便。
期间可能会有一些ros的软件包没有安装成功sudo apt-get update #更新一下源
在运行一次脚本即可,接下来设置环境变量echo “source /opt/ros/kinetic/setup.bash” >> ~/.bashrc
三、用QT编写ROS程序
1.配置qtcreator
为了加载环境变量,需要终端打开QT。sh /opt/Tools/QtCreator/bin/qtcreator.sh #这个路径跟你QT安装的位置有关,为了方便用alias给这行命令取个别名
sudo gedit ~/.bashrc #在末尾添加
alias qt=‘sh /opt/Tools/QtCreator/bin/qtcreator.sh’
创建一个功能包。在QT界面,File->Open File or Project 打开工作空间/src/CMakeLists.txt,将Project->Build&Run->CMake->Build directory:修改为工作空间的编译空间即可。
2.配置编写CMakeList.txtcmake_minimum_required(VERSION 2.8.3)
project(qt_app)
## Compile as C++11, supported in ROS Kinetic and newer
add_compile_options(-std=c++11)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(SOURCES
src/main.cpp
src/qt_app_node.cpp
src/mainwindow.cpp
src/qnavigationwidget.cpp
)
#find_package catkin
set(CMAKE_PREFIX_PATH /opt/5.12.6/gcc_64)
message(CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH})
message(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~find_package Qt5~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~)
find_package(Qt5 5.12.6 REQUIRED COMPONENTS
Widgets
Gui
Core
WebEngineWidgets
)
#find_package catkin
set(CMAKE_PREFIX_PATH /opt/ros/kinetic)
message(CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH})
message(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~find_package catkin~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~)
find_package(catkin REQUIRED COMPONENTS
sensor_msgs
cv_bridge
image_transport
roscpp
rospy
std_msgs
)
find_package(OpenCV REQUIRED
)
set(FORMS
src/mainwindow.ui
)
catkin_package(
# INCLUDE_DIRS include
# LIBRARIES qt_app
# CATKIN_DEPENDS roscpp rospy std_msgs
# DEPENDS system_lib
)
include_directories(
include
${catkin_INCLUDE_DIRS}
)
add_executable(${PROJECT_NAME}_node ${SOURCES} ${FORMS} include/mainwindow.h include/qt_app_node.h include/qnavigationwidget.h)
target_link_libraries(${PROJECT_NAME}_node
${catkin_LIBRARIES}
${OpenCV_LIBS}
Qt5::Widgets
Qt5::Gui
Qt5::Core
Qt5::WebEngineWidgets
)
linux qt开发上位机,QT开发 ROS上位机界面相关推荐
- ROS开发实践(十)——ROS多机通讯及网络配置讲解
一.控制背景 我们设计了一台ROS机器人,其中ROS机器人上搭载 树莓派4b 控制器,我们将其设为ROS主机,主要负责激光雷达扫描.视觉信息读取.SLAM算法运行等工作:同时,我们将电脑端的虚拟机设为 ...
- qt connect函数_Qt 串口上位机开发Rice 上位机 学习开发
前几天分享了一个使用C#开发的串口上位机,那么今天教你如何100行QT代码实现一个串口上位机.如果你学习过C++,那么使用QT开发软件,就不是什么大问题了,QT很多时候使用在linux上.所以使用QT ...
- [转]Ubuntu下ROS开发环境搭建(QT+ros_qtc_plugin)
ROS与C++入门教程-搭建开发环境(QT+ros_qtc_plugin) PS : 在"安装ros_qtc_plugin插件"这一步中,原文提到" Ubuntu 14. ...
- 【Qt开发】【VS开发】【Linux开发】OpenCV、Qt-MinGw、Qt-msvc、VS2010、VS2015、Ubuntu Linux、ARM Linux中几个特别容易混淆的内容...
[Qt开发][VS开发][Linux开发]OpenCV.Qt-MinGw.Qt-msvc.VS2010.VS2015.Ubuntu Linux.ARM Linux中几个特别容易混淆的内容 标签:[Qt ...
- linux eclipse下qt开发环境搭建,Qt Eclipse开发环境的部署 上篇
关于Qt Eclipse的开F发,将会从不同的环境中区安装部署,分为上.中.篇,三篇文章来讲.Windows,Linux平台下安装使用eclipse + QT4.4.3开发环境,Windows,Li ...
- qtcreator版本_【IDE】ROS开发环境之Qt Creator的安装与配置
可以用于ROS开发的IDE很多(可以参考[工具合辑]ROS工程师都在用什么IDE开发呢?用哪种IDE开发更加高效呢? ),ROS的调试依赖环境变量,与外部程序有通讯,因此要求启动IDE的时候加载ROS ...
- linux下qt制作日历,基于QT的多功能日历设计与开发.doc
基于QT的多功能日历设计与开发 上海电力学院 本科毕业设计(论文) 题 目: 基于QT的多功能日历 设计与开发 院 系: 计算机与信息工程学院 专业年级: 2007电子科学与技术 学生姓名: 张岚 学 ...
- x210开发板linux驱动开发,移植Qt与Tslib到X210开发板的体会
1.将QT移植到X210上,让X210开发板可以运行QT东西,需要几个东西.tslib QT源码编译后的lib库等 (1)tslib移植: @1:下载tslib,官方上下就可以. @2:解压.比如解压 ...
- Qt on Android 蓝牙通信开发
版权声明:本文为MULTIBEANS ORG研发跟随文章,未经MLT ORG允许不得转载. 最近做项目,需要开发安卓应用,实现串口的收发,目测CH340G在安卓手机上非常麻烦,而且驱动都是Java版本 ...
- 物联网小项目智能家居(QT、MQTT、嵌入式开发板、Ubuntu)
项目框架: 概述:搭建一个物联网的实战小项目,为本阶段的学习做了一次总结及记录.把构建的整个过程分享出来给大家,项目难点在于各种环境的搭建,而代码逻辑并不难. 说明: (1)本项目总共涉及到了4个MQ ...
最新文章
- vue-cli创建第一个项目(用git bash解决上下键移动选择问题)
- ADO.NET 获取元数据
- php随机产生4乘4矩阵,PHP 用二维矩阵生成一个给定层数的杨辉(PASCAL)三角形
- 解决在Windows10没有修改hosts文件权限
- AndroidStudio_Build Out窗口显示乱码解决方案---Android原生开发工作笔记222
- vue 获取数组索引_vue 重塑数组之修改数组指定index的值操作
- 简单树匹配算法STM-理论篇
- CentOS源码安装消息队列ActiveMQ
- detours安装和使用
- 大名鼎鼎的SEO,有哪些发展方向?
- Git 初學筆記 - 指令操作教學
- 生物信息学必读100篇论文
- 戴尔笔记本inspiron5488增大内存
- 【C语言】【unix c】信号量集(system v ipc)
- 人脸识别准确概率计算——超详细
- 湖北武汉资料员培训资料员在建筑工程中的作用建筑七大员培训
- 奥迪 a4 编码 控制计算机,大众/奥迪车电脑编码大全).doc
- 正序、负序、零序(增刊)
- WebSocket四种事件详解 入门篇(二)
- starring V6平台开发接出点流程
热门文章
- 笔记,前端重点 js,es6,vue2,vue3,小程序...... (记得收藏)
- java 数组怎么求和_java数组求和怎么解决?有哪些方式?
- 肾囊肿的症状表现是什么?
- css 多层ul li,css中的ul li ul li ul li ul li 实现四级菜单
- 【Java excel数据 截取 匹配】
- 公众号获取token失败_微信公众号token验证失败
- wikioi3287 货车运输
- Windows7服务一览
- JavaScript票据出票日期中文大写填写规范
- 钢琴瀑布流 Piano-MIDI(接入电钢琴等设备MIDI接口 通过钢琴的弹奏实时显示瀑布流线条)程序发布