As your applications become more complex you may finding yourself wanting to perform long-running tasks, such as interacting with remote APIs or performing complex calculations. By default any code you write exists in the same thread and process, meaning your long-running code can actually block Qt execution and cause your Python GUI app to "hang". In this PyQt5 tutorial we'll cover how to avoid this happening and keep your applications running smoothly, no matter the workload.
Threads & Processes
Run concurrent tasks without impacting your UI
Multithreading PyQt applications with QThreadPool
Run background tasks concurrently without impacting your UI
Using QProcess to run external programs
Run background programs without impacting your UI