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

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

相关推荐
piikee4 分钟前
php内存缓存插件yac的安装配置--平替apcu,多进程共享内存
开发语言·缓存·php·yac·php扩展·php内存缓存·apcu平替
多吃蔬菜!!!12 分钟前
VsCode 上的Opencv(C++)环境配置(Linux)
开发语言·c++
澡点睡觉22 分钟前
【golang长途旅行第32站】反射
开发语言·后端·golang
大白同学4213 小时前
【C++】用哈希表封装unordered_XX
开发语言·c++·散列表
XH华8 小时前
C语言第十一章内存在数据中的存储
c语言·开发语言
AndrewHZ9 小时前
【python与生活】如何用Python写一个简单的自动整理文件的脚本?
开发语言·python·生活·脚本·文件整理
拉法豆粉9 小时前
在压力测试中如何确定合适的并发用户数?
java·开发语言
枯萎穿心攻击10 小时前
Unity VS UE 性能工具与内存管理
开发语言·游戏·unity·ue5·游戏引擎·虚幻·虚幻引擎
老赵的博客10 小时前
c++ 常用接口设计
开发语言·c++
binbinaijishu8810 小时前
Python爬虫入门指南:从零开始的网络数据获取之旅
开发语言·爬虫·python·其他