【发布时间】:2019-05-10 22:53:59
【问题描述】:
我正在尝试让 Qt 创建者通过使用 UI 上的按钮将用户输入打印到终端中。截至目前,该代码可通过人工输入在终端上执行。代码如下:
void MainWindow::on_pushButton_clicked()
{
QProcess::execute("/catkin_ws/devel/lib/submodbus");
system("cd catkin_ws/devel/lib/submodbus");
system("./submodbus_node");
}
使用代码时的电流输出
通过人工输入输出
我正在运行的版本是: -Ubuntu 16.04 -QT Creator 3.5.1
【问题讨论】:
-
将
cd catkin_ws/devel/lib/submodbus更改为cd /full_path/of/catkin_ws/devel/lib/submodbus -
感谢您的回复,但仍然显示未找到
-
删除
system("cd catkin_ws/devel/lib/submodbus"); system("./submodbus_node");并将QProcess::execute("/catkin_ws/devel/lib/submodbus");更改为QProcess::execute("/full/path/of/catkin_ws/devel/lib/submodbus/submodbus_node"); -
这个 exe 文件用于机器人操作,我目前正在使用名为 submodbus_node 的可执行文件,来自这里 link,但尝试直接从这里打开它没有任何作用,我必须找到它的位置并在控制台中输入 ./submodbus node 来实际运行这个 exe 文件。我已经尝试了您上面的建议,但没有结果
-
您是否要先更改工作目录然后执行程序?
标签: c++ qt ubuntu-16.04