QProcess一些小知识

1. 启动外部程序的两种方式:

(1) 一体式:void start()外部程序启动后,将随主程序的退出而退出;

(2) 分离式:void startDetached()外部程序启动后,当主程序退出时并不退出。而是继续执行。

2. 当程序路径中含有空格的时候,特别是windows系统该程序路径会无法被识别。

解决方法是将程序路径传递给arguments参数。

3. 阻塞的函数,调用会可能界面停止响应,在交互性比较强的应用需要注意使用。

/* 堵塞。直到外部程序启动 */
bool waitForStarted(int msecs = )
/* 堵塞,直到输出通道中的新数据可读 */
bool waitForReadyRead(int msecs = )
/* 堵塞,直到输入通道中的数据被写 */
bool waitForBytesWritten(int msecs = )
/* 堵塞,直到外部程序结束 */
bool waitForFinished(int msecs = )

4. 管道命令的正确使用方法

正确实现使用setStandardOutputProces接口:

/* command1 | command2 */
QProcess process1;
QProcess process2;
process1.setStandardOutputProcess(&process2);
process1.start("command1");
process2.start("command2");

5. 捕获输出

(1) 标准输出

QByteArray readAllStandardOutput()

(2) 标准错误

QByteArray readAllStandardError()

本文分享自微信公众号 - Qt君(qtjuna)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-12-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏嵌入式开发圈

增加预编译头加快QT工程编译速度的方法

从去年到今年1月份,我独立完成的项目到现在已经接近上万行,每次编译全部源码的时候要花上1-2分钟,这让我非常苦恼!

26420
来自专栏sktj

python pyqt5 QToolBar

import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.Qt...

12240
来自专栏嵌入式开发圈

QT--QSocketNotifier类介绍

QSocketNotifier 用来监听系统文件操作,将操作转换为Qt事件进入系统的消息循环队列。并调用预先设置的事件接受函数,处理事件。

13610
来自专栏程序员小王

致青春--Python实现俄罗斯方块

俄罗斯方块游戏是世界上最流行的游戏之一。是由一名叫Alexey Pajitnov的俄罗斯程序员在1985年制作的,从那时起,这个游戏就风靡了各个游戏平台,而且俄...

11830
来自专栏嵌入式开发圈

iMX6 yocto平台QT交叉编译环境搭建

http://blog.csdn.net/lu_embedded/article/details/56102831

18030
来自专栏sktj

python pyqt5 QPrinter

import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.Qt...

15220
来自专栏程序员小王

用Python做一个翻译软件

前两天吃了平哥的一波狗粮,他给女朋友写了一个翻译软件,自己真真切切的感受到了程序员的浪漫。在学习requests请求的时候做过类似的Demo,给百度翻译发送一个...

13420
来自专栏sktj

python pyqt5 QStatusBar 常用

import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.Qt...

14910
来自专栏24K纯开源

macOS上实现Qt应用程序做文件关联打开

用Qt开发的应用程序要实现文件关联,双击时用默认关联的程序打开文件,在Windows上这个功能非常容易实现。Windows应用程序在安装的时候可以在注册...

16620
来自专栏24K纯开源

Qt程序继承QApplication发生崩溃的原因

QApplication是Qt开发中经常用到的一个类,用来管理应用程序的生命周期。跟其相关的类还有QCoreApplication和QGuiAppli...

20330

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励