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

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

相关推荐
赴生-1 小时前
C++进阶 异常
开发语言·c++
黄毛火烧雪下1 小时前
Java 核心知识点总结(一)
java·开发语言
其实防守也摸鱼1 小时前
软件安全与漏洞--软件安全编码与防御技术理论题库
开发语言·网络·安全·网络安全·软件安全·软件安全与漏洞
x138702859571 小时前
c语言中srtlen(指针使用计算字符长度)、传值和传址调用
c语言·开发语言·算法·visual studio
iCxhust2 小时前
C#进程管理程序
开发语言·汇编·stm32·单片机·c#·微机原理
Strugglingler2 小时前
【Qt,OpenGL, RHI,Wayland 等概念梳理】
qt·opengl·wayland·rhi·x11·egl·glx
凡人叶枫2 小时前
Effective C++ 条款28:避免使用 handles 指向对象内部
linux·服务器·开发语言·c++·嵌入式开发
努力成为AK大王2 小时前
并发编程的核心挑战、优化方案与核心知识点总结
java·开发语言·数据库
AI 编程助手GPT3 小时前
用 Python 做一个世界杯赛前分析脚本:以巴西 vs 摩洛哥为例
开发语言·网络·人工智能·python·chatgpt
lihao lihao3 小时前
Linux信号
开发语言·c++·算法