为什么linux下qt调用的bash终端和自己打开的终端执行结果不一致 rostopic list

问题遇到的现象和发生背景

在ssh登录下,进行了初始化节点,然后自己打开新的终端输入rostopic list和用qt调用bash终端输入的结果不一样

问题相关代码,请勿粘贴截图

自己打开终端显示的结果

img


用qt调用终端,进行同样的操作后再输入rostopic list结果如下

img


不知道什么原因,下图是qt的源码

img

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

这种情况一般是由于QT没有导入某些环境变量导致的。
在QT项目中加入相应的环境变量,然后重新编译即可。

需要的环境变量可能是ROS_MASTER_URI和ROS_HOSTNAME
(这两个环境变量是我的猜测,你验证一下是不是这两个变量)
(或者,在qt启动bash后,先在bash中export 环境变量,然后再执行rostopic list)
这两个环境变量来源于下面这篇文章的说明: