1. 程式人生 > >Qt啟用外部程式和關閉外部程式

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()。