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

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

相关推荐
§ꦿCFོ༉7 小时前
嵌入式八股文—C语言入门学习(四)
c语言·开发语言·学习
投图匠8 小时前
十种不同风格的 CTP接口 框架
开发语言·python
爱笑的k1111 小时前
nano-vllm 源码剖析:千行 Python 手写离线推理引擎的调度、显存与并行时序
开发语言·python·vllm
X1A0RAN12 小时前
PPT 图片批量处理教程:导出全部幻灯片 · 提取全部素材
开发语言·javascript·powerpoint
熊猫钓鱼>_>13 小时前
普通用户视角的端侧智能体验手记【鸿蒙心迹】
开发语言·人工智能·华为·智能手机·性能优化·ai编程·harmonyos
瑞雪兆丰年兮13 小时前
JavaWeb-day13-SpringBootWeb事务管理&AOP
java·开发语言·springboot·javaweb·事务·web·aop
布莱克60515 小时前
Swift 常量详解:从 let 到编译期优化
服务器·开发语言·ssh·swift·常量·let
布莱克60515 小时前
Swift 可选类型(Optionals)详解:从原理到实战
开发语言·安全·ssh·swift·optional·可选类型
瑞雪兆丰年兮17 小时前
JavaWeb-day14-SpringBootWeb原理篇
java·开发语言·spring boot·spring·bean·mybatis·javaweb
SomeOtherTime19 小时前
Rust生命周期介绍(AI回答)
开发语言·后端·rust