First, you are setting the program to the zip file. Aren't you attempting to run program gunzip instead? The file name of your zip file should be one of the arguments you pass to the gunzip program.
What is the return code from waitForFinished? If you are not going to use the started, finished, and error signals, then you should also waitForStarted() after you start the QProcess and check its return code as well.
Edit: The waitFor* methods will block until they either timeout or the condition is satisfied, so if you are doing this from your GUI thread, your GUI will freeze, which is why I recommend you use the started, finished, and error signals instead.
Bookmarks