Riviz图形化界面
本周任务:继续研究rviz,进一步完善界面功能。
完成情况:能够通过图形化界面点击按钮直接运行终端命令。
开始看老师给的github源码,以为实现的功能只是增加了一些特殊形状的模型插件。
![1d919365cad85b20d636d340583fc416.png](https://img-blog.csdnimg.cn/img_convert/1d919365cad85b20d636d340583fc416.png)
后来发现一个叫“rviz_visual_tools_gui.cpp”文件,顾名思义是图形化界面工具,于是就在panel菜单中找有没有新加入的面板插件,然后就找到了一个“RviVisualToolsGui”的面板插件,但是这个面板插件并没有实现具体的功能,还需要自己来编写实现。
首先要实现的是通过按键直接运行终端命令,不用再繁琐的打开一个个终端运行命令,使其更像一个用户界面。这个面板插件是基于QT做的,于是通过在网上查找QT资料进行编写。大致思路是首先通过QPushButton()函数创建多个按钮,并设计界面布局;再利用QT的信号与槽机制建立各个按钮的信号与实现具体功能的函数之间的联系,也就是用connect()函数建立联系。然后编写具体的功能函数,这里利用QProcess类初始化一个终端,然后写入要执行的命令。编译运行后打开rviz,添加RviVisualToolsGui面板,最终整个界面如下图所示。
![1759f83b89652ff8c873dc1167cef510.png](https://img-blog.csdnimg.cn/img_convert/1759f83b89652ff8c873dc1167cef510.png)