在QT中經常要調用外部命令或者是執行shell腳本,並且要對執行結果進行分析。
QProcess runShellProcess =new QProcess(this); //調用過程輸出的監控 connect(runShellProcess, SIGNAL(readyRead()), this, SLOT(readProcess())); connect(runShellProcess, SIGNAL(finished(int)), this, SLOT(finishedProcess()));
然后在readProcess()和finishedProcess()中進行分析
void MainWindow::executeShellQProcess(const char *shell){ shellOutput=""; runShellProcess->start(shell); } void MainWindow::readProcess(){ QString output=runShellProcess->readAll(); shellOutput+=output; //do something } void MainWindow::finishedProcess(){ qDebug()<<shellOutput; //do something }