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);

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

相关推荐
cnxy18812 小时前
围棋对弈Python程序开发完整指南:步骤1 - 棋盘基础框架搭建
开发语言·python
程序员-周李斌14 小时前
Java 死锁
java·开发语言·后端
JasmineWr14 小时前
CompletableFuture相关问题
java·开发语言
零雲15 小时前
java面试:知道java的反射机制吗
java·开发语言·面试
Jeremy爱编码15 小时前
实现 Trie (前缀树)
开发语言·c#
laocooon52385788615 小时前
插入法排序 python
开发语言·python·算法
你的冰西瓜15 小时前
C++中的list容器详解
开发语言·c++·stl·list
就不掉头发15 小时前
I/O复用
运维·服务器·c语言·开发语言
梦里小白龙16 小时前
JAVA 策略模式+工厂模式
java·开发语言·策略模式
安_16 小时前
js 数组splice跟slice
开发语言·前端·javascript