2011-10-02 79 views
0

我想寫一個測試程序。它將打開一個特殊的*.tests文件並通過文件中的測試測試直接程序。Qt程序與殼牌

我需要:

  1. 運行某些程序。例如./main -testing 45 563 67
  2. 聽結果。

我該怎麼辦呢?我想通過一些測試運行程序main,並聽取其結果。

回答

1

你應該使用QProcess類來啓動你的程序。

QString program = "./main"; 
QStringList arguments; 
arguments << "-testing" << "45" << "563" << ...; 

QProcess *myProcess = new QProcess(parent); 
myProcess->start(program, arguments); 

然後您可以使用waitForFinished等待它完成。 exitCode會給你返回碼。

readAllStandardOutput(或*Error)方法允許您讀取進程已輸出到控制檯的內容。

+0

謝謝。但我有一個問題。 readAllStandardOutput返回QByteArray。如果程序將寫入 - (7 \ n67 \ n78 \ n),什麼格式將是qbytearray? – tucnak

+0

它將具有完全相同的格式。你可以從QByteArray創建一個QString,或者從它創建一個QBuffer。 – Mat