//this function will executed at the end of every process
void Qt_Loop_QProcess
::finishedProcess ( int exitCode,
QProcess::ExitStatus exitStatus
) {
ui.textReport->append("complete"); //finishid process command
if(idxProcess<nExtension) //run qprocess again until all extension finished
{
ui.listCommand->setCurrentRow(idxProcess);
/* create QProcess object */
QString strCommand
= setCommand
(listExtension.
at(idxProcess
));
proc
->start
("/bin/bash",
QStringList() <<
"-c" << strCommand
);
/* show output */
connect(proc, SIGNAL(readyReadStandardOutput()),this, SLOT(rightMessage()) );
connect(proc, SIGNAL(readyReadStandardError()), this, SLOT(wrongMessage()) );
connect(proc,
SIGNAL(finished
(int,
QProcess::ExitStatus)),
this,
SLOT(finishedProcess
(int,
QProcess::ExitStatus)) );
idxProcess++;
}
}
//this function will executed at the end of every process
void Qt_Loop_QProcess::finishedProcess ( int exitCode, QProcess::ExitStatus exitStatus )
{
ui.textReport->append("complete"); //finishid process command
if(idxProcess<nExtension) //run qprocess again until all extension finished
{
ui.listCommand->setCurrentRow(idxProcess);
/* create QProcess object */
proc= new QProcess();
QString strCommand = setCommand(listExtension.at(idxProcess));
proc->start("/bin/bash", QStringList() << "-c" << strCommand);
/* show output */
connect(proc, SIGNAL(readyReadStandardOutput()),this, SLOT(rightMessage()) );
connect(proc, SIGNAL(readyReadStandardError()), this, SLOT(wrongMessage()) );
connect(proc, SIGNAL(finished(int, QProcess::ExitStatus)),
this, SLOT(finishedProcess(int, QProcess::ExitStatus)) );
idxProcess++;
}
}
To copy to clipboard, switch view to plain text mode
I get this tutorial at here
Bookmarks