@mario12136
As @jeremy_k has written, using the signal instead of blocking will keep your UI application "responsive". You can also use the signal on new data arriving on stdout to read it in real-time if the subprocess produces and flushes output as it goes along.
However I am not clear what your question is. If you need to get the result back from your subprocess then ultimately you cannot get that till it is finished, and if that takes a noticeable amount of time then that's how it is. You cannot "speed up" how long the process takes to run, and reading from stdout is a negligible overhead in itself. Maybe that program can accept multiple file paths at a time on its command line and produce output on each of them in a single invocation, that might speed up the overall time for many files.
Maybe you can do this somehow faster without going via some external process, but that requires you open and read the files yourself, perhaps through some library. But not a Qt issue.