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程序时,需要确保你的程序是以调试模式编译的,否则你将无法得到正确的调试信息。