Qt启用外部程序和关闭外部程序
Posted Geek.Fan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt启用外部程序和关闭外部程序相关的知识,希望对你有一定的参考价值。
在我们的多方合做的项目中,经常会遇到需要调用第三方外部程序。在Qt中提供了QProcess类,可以用来启动和关闭外部程序,并与之通讯。QProcess继承于QIODevice,因此,我们可以把它当作是一个I/O设备进行读写操作。
具体用法:
1.一体式启动:外部程序启动后,将随着主程序的退出而退出
启动方法:
void QProcess::start(const QString & program, const QStringList & arguments, OpenMode mode = ReadWrite)
2.分离式启动:外部程序先启动,启动后再启动外部程序,主程序退出时,该程序继续运行。
启动方法:
void QProcess::startDetached(const QString & program, const QStringList & arguments, const QString & workingDirectory = QString(), qint64 * pid = 0)
3.实际调用:
process->start("D:/mypro/data/Rose.exe");
QProcess::start()和QProcess::execute()都能完成启动外部程序的任务,但是区别很大,start()是非阻塞的,而execute()是阻塞的。execute()=start()+waitforFinished()。
以上是关于Qt启用外部程序和关闭外部程序的主要内容,如果未能解决你的问题,请参考以下文章