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

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

相关推荐
jz_ddk34 分钟前
[学习] C语言多维指针探讨(代码示例)
linux·c语言·开发语言·学习·算法
He_k3 小时前
‘js@https://registry.npmmirror.com/JS/-/JS-0.1.0.tgz‘ is not in this registry
开发语言·javascript·ecmascript
星夜9823 小时前
C++回顾 Day6
开发语言·数据结构·c++·算法
UpUpUp……5 小时前
C++复习
开发语言·c++·笔记
艾莉丝努力练剑5 小时前
深入详解编译与链接:翻译环境和运行环境,翻译环境:预编译+编译+汇编+链接,运行环境
c语言·开发语言·汇编·学习
开发者工具分享7 小时前
Lua 的速度为什么比 Python 快
开发语言·python·lua
蔗理苦7 小时前
2025-05-28 Python&深度学习8——优化器
开发语言·pytorch·python·深度学习·优化器
格子衫-20037 小时前
Java八股-Java优缺点,跨平台,jdk、jre、jvm关系,解释和编译
java·开发语言·jvm
Yurko138 小时前
【C语言】函数指针及其应用
c语言·开发语言·学习
zhifanxu8 小时前
Android开发常用Kotlin高级语法
android·开发语言·kotlin