【发布时间】:2021-04-19 17:48:12
【问题描述】:
我想构建一个带有多个按钮的 UI 以启动 ros 文件并关闭启动文件。我被其他人所说的 QProcess 困住了。 我关注了几个讨论:
- https://answers.ros.org/question/324076/kill-nodes-started-with-launch-file-properly-in-qt-how/
- https://answers.ros.org/question/360808/qt-creator-ui-to-run-roslaunch-by-clicking-a-button/
- https://answers.ros.org/question/209090/how-to-launch-a-roslaunch-in-qt-with-a-terminal-gui/
他们都没有成功。 这是我尝试的最新代码(当我按下按钮时结果没有运行)。
QString program = "roslaunch jackal_gazebo jackal_world.launch";
QProcess *myProcess = new QProcess(this);
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
env.insert("launch","/opt/ros/melodic/share/jackal_gazebo");
myProcess->setProcessEnvironment(env);
myProcess->start(program);
myProcess->waitForStarted(-1);
【问题讨论】:
-
向您的进程发送
SIGINT信号的建议解决方案到底有什么问题? -
这根本行不通。我第一次尝试用下面的代码调用 roslaunch,没有任何反应。
-
当我点击按钮时,UI突然退出