Lesiok's option is probably the least effort. Here are some other options:

Create a slot for each step. In the slot for step 1 start the relevant process and connect() its finished() signal to the slot for step 2... and so on. You should check the exit state of step n at the top of step n+1 before starting the new step's process.

Or, between steps:
Qt Code:
  1. connect(process, SIGNAL(finished(...)), &loop, SLOT(quit()));
  2. loop.exec();
To copy to clipboard, switch view to plain text mode