最近要Linux下做相关软件开发了,还要当自己为新手,本着求知求学的心态,再简单的事情,也要好像学习,一面一些不该犯的错误犯了,另外也是趟一些雷,不害怕出错误,哪怕碰到最简单的错误也要好好总结下。
既然都到Linux 下,使用上位机调用脚本肯定要有的,本次也将简单使用一个简单样例来进行说明。
实验环境还是挺重要的,因为有时候,在你电脑上能运行的东西,在别人的电脑就不一定能运行,这一部分的原因就可能是实验版本不一样。
系统环境:
环境问题还是要注意下的,不同环境下可能还真的可能不一样。
QT软件版本:qt 5.14.2
(1)一步一步按照顺序来,切不可心急,直接使用qt调试
我们调试软件,不能太心急,否则可能反而都不实现不了。
所以我们在实现前,要现在终端上,先实现相关功能,在使用qt调用,这样才能保证问题分离。
(2)调用脚本使用QProcess类
和之前烧写工具一样,调用脚本也是用process类,确定脚本路线,然后调用。
(3)一些基础工具使用
好长时间,没在Linux下弄东西了,想编写脚本,突然忘记了,连基础的vim都想不起来,所以也算复习下吧
vim xxx.sh
这些编辑器都是通过命令行界面(CLI)访问的,没有图形用户界面(GUI),但它们非常强大和灵活,尤其是在处理文本文件、编程和脚本编写方面。对于新手来说,Nano可能是最容易上手的,而Vim和Emacs则提供了更多高级功能,但需要一定时间来学习和适应。
使用指令新建一个脚本文件
vim simp1.sh
编写内容如下
#!/bin/bash
echo "hello from script!"
然后退出,这里不具体说明VIM工具怎么用了。
//这一步不可缺少
chmod +x simp1.sh
然后运行脚本.,注意此步骤和qt一点关系没有,是先保证自己脚本能运行
./simp1.sh
如果没有什么问题,就可以看到如下内容了。
上边成功后,我们就可以进入qt部分了。
在如下这篇文章里,我们安装了软件,并且简单建立一个工程。首次实现了在Linux下运行第一个dome。
【Linux20.04-qt5.12.4软件安装与初步使用-qt在Linux使用-记录-笔记】
这块就不重复造轮了,看看上边文章吧,最后效果,是有个空白项目。
核心代码如下,就是使用process类。
void MainWindow::QProcess_test_shell(void)
{
QProcess process;
// 设置脚本执行的工作目录,如果脚本不在当前目录,需要指定完整路径
process.setWorkingDirectory("/home/wjl/Desktop/qt_work/Linux_test_shell");
// 连接信号以获取脚本的输出
QObject::connect(&process, &QProcess::readyReadStandardOutput, [&]() {
QString info=process.readAllStandardOutput();
ui->textEdit->setText(info);
qDebug() << info;
});
// 启动脚本
process.start("./simp1.sh");
// 等待脚本执行完成
process.waitForFinished();
}
我们先在debug终端里调试,当然这样做只是方便。
如下如果不知道自己动文件在哪里的话,可以使用终端输入指令来查询
pwd
然后放在如下代码里
使用相关指令查看目录下有什么文件,然后填进去
ls
加入布局,一个处罚,一个收信息
简单拉个上下,可以拖动
然后转到信号槽
将之前运行函数放在 按下里
### 4、效果验证
代码链接:https://download.csdn.net/download/qq_22146161/88625631
如下在调试的时候,没注意,直接想通过“”“->”调出编辑框的ID,发现不行,其实就是忘记保存了。
或者布玩局后,先运行下。
之后就可以了