QT Creator 同时启动多个ROS launch文件

news/2025/2/22 11:17:51

有时候跑一个ros的应用,需要启动多个ros launch文件,搞得人心烦意乱。这里参考网上给出的做法,利用qt creator,制作一个简单ui,通过点击按钮,同时启动多个launch文件。过程如下:

1. Ubuntu 16.04安装qt Creator 5.9
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 qt57creator-plugin-ros
2. 创建一个带按钮的简单UI
创建一个新的工程(Qt Widgets Application)


然后一路next,

初始情况下,工程结构如下:

编辑UI,选中.ui文件

 

为按钮添加动作(slot),点击按钮,右键--goto slot

此时,会在.h文件中添加

private slots:
    void on_pushButton_clicked();
然后,我们在.cpp中实现该方法:

void MainWindow::on_pushButton_clicked()
{
 
    system("gnome-terminal -x bash -c 'source ~/cj/devel/setup.bash; roslaunch micros_storage storage_node.launch'&");
    system("gnome-terminal -x bash -c 'source ~/cj/devel/setup.bash; rosrun rviz rviz'&");
}
这里的~/cj是我的工作空间,大家可以替换成自己工作空间(workspace或者某_ws)的路径 ,micros_storage是我创建的package,大家换成自己的package以及对应的launch文件。

这里只是给出一个例子,告诉大家怎么通过GUI来一次性启动多个launch文件,来避免大量的手工输入或者粘贴。

3. 编译工程,运行文件
build all

run

然后点击按钮,会启动rviz和storage_node的app。


http://www.niftyadmin.cn/n/1365820.html

相关文章

数据库学习(一)

软件分享: 链接:https://pan.baidu.com/s/17WB7A25mr_IepVihKVIEwA 提取码:1f1k 复制这段内容后打开百度网盘手机App,操作更方便哦 解压以后进入cmd的 bin目录下; 启动mysql服务: mysqld --console重…

C++程序性能1

//C程序性能1 //#include "ProgramPerformance.h" //program performance /* 程序性能( program performance),是指运行一个程序所需要的内存大小和时间。 可以采用两种方法来确定一个程序的性能, 一个是分析的方法&…

JsonResult作为Action返回值时的错误

System.InvalidOperationException: This request has been blocked because sensitive information could be disclosed to third party web sites when this is used in a GET request. To allow GET requests, set JsonRequestBehavior to AllowGet. 由错误信息可知MVC2出于…

数据库学习(二)

相关操作: 1. 关于库的操作 (1)创建库 语法:create database database_name;database_name是库名,库名的命名规则:由字母、数字、下划线、、#和¥组成,首字母不能是数字和&…

数据库学习(三)

修改字段的顺序: 语法:alter table table_name modify 列名 数据类型 first; 例子:将tab_dept表中的loc调整到第一个位置 -->alter table tab_dept modify loc varchar(50) first; 将tab_dept表中的num调整到deptno位置 -->alter tabl…

Python小练习——创建简单地址簿

闲来无事,刚花了点时间学完《A Byte Of Python》,写写最后面给的习题: 创建一个地址簿,写了个简单的文字菜单,根据选择可添加/删除/查找/更改联系人、电话以及邮箱,当然可以扩展为更多信息和操作&#xff1…

数据库学习(四)

浮点类型 float(m,n) double(m,n) m表示浮点数的总长度,n表示小数点后的长度 如果需要精确到小数点10位以上的,需要选择double类型 -->use company; create table t_test(a float,b double); insert into t_test values(123.456789012345,123.456…

数据库学习(五)

auto_increment 字段自动增加 在插入数据的时候,字段会自动生成唯一的序号,序号为整数类型,一般自动增加的属性是给设置pk的字段加的,而且一个表中只能有一个字段加该属性。 --> create table t6(a int primary key auto_i…