QProcess::execute()
- это метод блокировки: он будет блокировать свой вызывающий поток до тех пор, пока не будет завершен вызываемый процесс. При вызове этого метода из основного потока события пользовательского интерфейса не будут обрабатываться до тех пор, пока метод не вернется.
Чтобы обойти это, вы можете создать экземпляр QProcess
(вместо использования его статических методов), а затем создать слот, который продолжает часть операции, которая происходит после завершения внешнего процесса, и подключить его к QProcess::finished(int, QProcess::ExitStatus)
сигнал.