I'm building a simple GUI in PyQt5 which offers the user a few buttons to run functions. Each function is fairly complex and prints out information, including a running and constantly updating percent progress value.
Under normal operation, as the user clicks a button, the process runs and the terminal is constantly updated as expected.
However, I'd like to display this printed information in my GUI, rather than the terminal. I have implemented this using an Emitting Stream to pipe stdout to a ListWidget (after: RealTime output from a subprogram to stdout of a pyQT Widget)
However, my problem is that with PRINT commands redirected to the GUI, it only updates once all function calls have finished executing.
How can I fix this please? I've searched quite a lot for solutions and wonder if QThreads are a solution. However, the functions which print out information are part of a separate module and hence, I'm not sure how to implement a solution using signals or slots or threads etc....
All suggestions greatly appreciated thanks.