1.通过QProcess类

QProcess *process=new QProcess;
process->start("bash");                      //启动终端(Windows下改为cmd)
process->waitForStarted();                   //等待启动完成
process->write("命令"+‘\n’);                 //向终端写入命令,注意尾部的“\n”不可省略

2.通过system

system("gnome-terminal -x bash -c '设置环境变量; 命令'&");
 system("gnome-terminal -x bash -c 'source ~/catkin_ws/devel/setup.bash; rosrun rviz rviz'&");

注:1.~/catkin_ws为工作空间路径,可替换
2.system函数中务必添加 source ~/catkin_ws/devel/setup.bash;以确保可以找到所有相关联的包(Package);否则可能运行

这篇文章很有作用:https://qiita.com/manymanyuni/items/a28acb545200f1f45c79 https://qiita.com/ 我使用的步骤和命令 注意: GOPATH和GOROOT不是同一个目录! 1. 将Go和QT安装好 2. go get -v github.com/therecipe/qt 3. go install -v -tags=no_env github.com/therecipe/qt/cmd/...
​ 在实际工作中,经常会遇到某项任务需要多次执行的情况,而每次执行时仅仅是处理的对象不一样,其他命令相同。例如,根据通讯录中的姓名列表创建系统账号,根据服务器清单检查各主机的存活状态。当面对各种列表重复任务时,使用简单的 语句已经难以满足要求,而顺序编写全部代码更是显得异常烦琐、困难重重。此时,使用 循环会使任务变得更加简单和高效。语法结构: 1.2 不带列表循环(C 风格的 for 循环) 语法结构: 2. 打开终端,进入Qt Creator项目的构建目录。 3. 在终端输入命令:gdb <your_project_name>,其中<your_project_name>是你的Qt项目的可执行文件名。 4. 在gdb中输入命令:run,运行你的Qt程序。 5. 如果程序在某个地方崩溃了,gdb会停止程序执行并提示你错误的位置。 6. 在gdb中可以使用一系列的命令来查看程序的状态和调试信息,例如:backtrace查看调用栈,print查看变量值等。 7. 当你调试完成后,在gdb中输入命令:quit,退出gdb。 需要注意的是,在使用gdb调试Qt程序时,需要确保你的程序是以调试模式编译的,否则你将无法得到正确的调试信息。