QT之应用程序执行脚本

简介

● Qt中的类QProcess支持在程序中另外开辟线程

● 其中start方法支持以字符串为参数执行命令

以Linux平台为例:

方式一(后台执行)

c 复制代码
///
/// \brief MainWindow::cmdLine run a linux command with string format in the bash
/// \param strCmd linux command in string format
///
void MainWindow::cmdLine(QString strCmd)
{
    QProcess process;
    process.start("bash",QStringList() << "-c" << strCmd);
    process.waitForFinished();
    process.close();
}

但该命令看不到执行过程。

方式二 (终端执行)

● 可以下述方式调用该函数,新建终端执行脚本

cpp 复制代码
QString strCmd = QString("gnome-terminal -x bash -c \"sh Run.sh run %1 %2 %3;\"")
                        .arg(this->vecPoint.size())
                        .arg((int)(this->raleMapWidth))
                        .arg((int)(this->raleMapHeight));
this->cmdLine(strCmd);

即运行时会弹出终端窗口,查看脚本的标准输出。

相关推荐
hongtianzai几秒前
Laravel7.x十大核心特性解析
java·c语言·开发语言·golang·php
永远睡不够的入3 分钟前
C++庖丁解牛:深入理解多态:从虚函数表到底层实现
开发语言·c++
姚青&5 分钟前
Pytest fixture 参数化(params 参数)
开发语言·python·pytest
qq_334903157 分钟前
C++与人工智能框架
开发语言·c++·算法
2401_891482179 分钟前
C++中的状态模式
开发语言·c++·算法
9523612 分钟前
初识多线程
java·开发语言·jvm·后端·学习·多线程
m0_7369142214 分钟前
服务器上pip install spacy卡住解决方法
开发语言·python
冰暮流星14 分钟前
javascript之回调函数
开发语言·前端·javascript
qq_4176950517 分钟前
基于C++的区块链实现
开发语言·c++·算法
电商API_1800790524718 分钟前
电商平台公开数据采集实践:基于合规接口的数据分析方案
开发语言·数据库·人工智能·数据挖掘·数据分析·网络爬虫