当前位置: 首页 > news >正文

Qt开发(2)——windows下调用外部程序

一、QProcess::start

1.阻塞性

start是非阻塞函数,但是这里的waitForFinished是阻塞的

2. 调用外部压缩程序7z

// 目标压缩路径
QString zipFilePath = destinationFolder + "/" + zipFileName;
QStringList arguments{"a", zipFilePath, sourceFolder};
QProcess process;
process.start("D:/7z.exe", arguments);
process.waitForFinished();

3. 注意

如果以这种方式执行,理论上没问题,实际运行时会出错。
目前我不知道原因,欢迎大家一起讨论。

// 压缩程序的路径
QString program = QCoreApplication::applicationDirPath() + "/7z.exe"; 
QStringList arguments{"a", zipFilePath, sourceFolder};
QProcess process;
process.setProgram(program);
process.setArguments(arguments);
process.start();
process.waitForFinished(-1);

二、QProcess::execute

1. 阻塞性

execute是阻塞的
execute()=start()+waitforFinished()

2. 执行结果

指令执行得到的内容会打印在控制台,影响日志。

// 目标压缩路径
QString zipFilePath = destinationFolder + "/" + zipFileName;
QStringList arguments{"a", zipFilePath, sourceFolder};
QProcess process;
process.execute("D:/7z.exe", arguments);
process.waitForFinished();
http://www.lryc.cn/news/96553.html

相关文章:

  • PostgreSQL查看数据库对象大小
  • 给el-table实现列显隐
  • 为Android构建现代应用——应用架构
  • 49:字符串的新增方法
  • Kaggle图表内容识别大赛TOP方案汇总
  • DAY2,Qt(继续完善登录框,信号与槽的使用 )
  • 【设计模式】设计原则-开闭原则
  • 【2500. 删除每行中的最大值】
  • Superset部署
  • Python3 学习笔记 ~ 怎样打印字符串
  • postgresql安装
  • ElasticSearch之IK分词器安装以及使用介绍
  • Linux系统安装部署Jenkins详细教程(图文讲解)
  • 基于ChatGPT聊天的零样本信息提取7.25
  • Pytorch个人学习记录总结 08
  • Ansible自动化运维学习——综合练习
  • Java中正则表达式
  • 13 硬链接和软链接
  • 智能合约安全审计
  • 矩阵置零(力扣)思维 JAVA
  • centos制作openssh 9.3p2 rpm包
  • uni-app:切换页面刷新,返回上一页刷新(onShow钩子函数的使用)
  • 全志F1C200S嵌入式驱动开发(调整cpu频率和dram频率)
  • idea 设置了 vm options后无法启动
  • TPS54620RHLR是一款同步降压转换器
  • 主机漏洞利用演示MS17-010(永恒之蓝)
  • 2023年第六届河北省研究生数学建模竞赛题目B题Python求解代码
  • 【三维点云处理】顶点、面片、邻接矩阵、邻接距离矩阵以及稀疏存储概念
  • ansible 中的fetch模块的作用是什么
  • Zabbix-6.4.4部署及监控配置