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

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

相关推荐
Zhen (Evan) Wang38 分钟前
(豆包)xgb.XGBRegressor 如何进行参数调优
开发语言·python
虾球xz1 小时前
CppCon 2018 学习:THE MOST VALUABLE VALUES
开发语言·c++·学习
阿蒙Amon2 小时前
C#扩展方法全解析:给现有类型插上翅膀的魔法
开发语言·c#
尘浮7282 小时前
60天python训练计划----day59
开发语言·python
Chef_Chen2 小时前
从0开始学习R语言--Day39--Spearman 秩相关
开发语言·学习·r语言
不学会Ⅳ3 小时前
Mac M芯片搭建jdk源码环境(jdk24)
java·开发语言·macos
好开心啊没烦恼4 小时前
Python 数据分析:计算,分组统计1,df.groupby()。听故事学知识点怎么这么容易?
开发语言·python·数据挖掘·数据分析·pandas
lljss20205 小时前
Python11中创建虚拟环境、安装 TensorFlow
开发语言·python·tensorflow
Python×CATIA工业智造8 小时前
Frida RPC高级应用:动态模拟执行Android so文件实战指南
开发语言·python·pycharm
我叫小白菜9 小时前
【Java_EE】单例模式、阻塞队列、线程池、定时器
java·开发语言