QProcess调用外部程序
来源:互联网 发布:php生成短网址 编辑:程序博客网 时间:2024/06/07 09:12
简述:
QProcess类的作用是启动一个外部的程序并与之交互。
QProcess *cmd = new QProcess; #ifdef _TTY_ARMV4_ QString strArg = "ping -s 1 -c 1 " + b_tmpIpStr; //linux平台下的格式 #else QString strArg = "ping " + b_tmpIpStr + " -n 1 -w " + QString::number(m_timeoutInt) ; //windows下的格式 #endif cmd->start(strArg); cmd->waitForReadyRead(); cmd->waitForFinished(); QString retStr = cmd->readAll(); if (retStr.indexOf("TTL") != -1) { qDebug() << m_curIpStr <<"is online!\n"; } retStr.clear();
1、QProcess::start()与QProcess::execute()
QProcess::start()与QProcess::execute()都能完成启动外部程序的任务,但start()是非阻塞的,而execute()是阻塞的。换句话说,execute()=start()+waitforFinished()。
2、获取返回值
在QProcess下,则通过:
- int QProcess::execute()
- int QProcess::exitCode()
获得返回值。
3、输出
readAllStandardOutput()函数从标准输出通道中读取数据
readAllStandardErrot()函数从标准错误通道中读取数据
setStandardOutputFile()函数设置输出到的文件,相当于前面的重定向
setStandardErrorFile()函数设置错误到的文件
由于QProcess是QIODevice的派生类,故:
- read()
- readLine()
- ...
都可以直接用获取被调用程序的标准输出。
注:输出前,最好调用waitForReadyRead()函数
4、进程终止
在QProcess中,则对应:
- QProcess::kill()
- QProcess::terminate()
- QProcess::close()
1 0
- QProcess调用外部程序
- QProcess调用外部程序
- Qt调用外部程序QProcess
- QProcess调用外部程序:QProcess::start与QProcess::execute
- QProcess调用外部程序:QProcess::start与QProcess::execute
- qt调用外部程序的方法 qprocess
- QProcess 进程类—调用外部程序
- QProcess 进程类—调用外部程序
- QProcess与外部程序的调用
- QProcess调用外部程序方式的差异
- QProcess 进程类—调用外部程序
- QProcess与外部程序的调用
- Qt之QProcess(二)调用外部程序
- 使用Qt打开外部文件,调用外部程序(QDesktopServices,QUrl ,QProcess,QProcess)
- QT中调用外部程序:QProcess的使用
- QT中调用外部程序的方法 QProcess类
- QT中调用外部程序的方法 QProcess类
- QT中调用外部程序的方法 QProcess类
- 设置Qt依赖库路径
- java-toString的调用
- 【Git & GitHub】解决办法:Could not read from remote repository.Please make sure you have the...
- LeetCode之路—— Palindrome Number
- Android 客户端 okhttp3 与服务器之间的双向验证
- QProcess调用外部程序
- redis k-v最操作
- 模糊聚类分析之基础
- 断点上传方案
- http 长连接 短连接 持久连接
- PopupWindow(2)
- C语言--函数(方法)
- service redis does not support chkconfig的解决办法
- adb无法使用,error: unknown host service