Elegant shutdown of running threads

Heads up! You've already completed this tutorial.

ramy | 2020-05-10 21:34:14 UTC | #1

Great solution for multithreading, and nice stepping into final idea.

https://www.pythonguis.com/courses/concurrent-execution/multithreading-pyqt-applications-qthreadpool/

I have a question though, what if an attempt of closeEvent happened, you know like closing the GUI while there is one thread or more running in the threadpool, this has thrown an exception, I have one solution in mind but I was wondering if there's a better one?

My solution is to signal some event per say from closeEvent function and wait for sometime say 5 seconds, while the task at hand finishes, and by the end of it a signal is given from the thread that it's clear to quit the GUI, thanks for the time


Over 10,000 developers have bought Create GUI Applications with Python & Qt!
Create GUI Applications with Python & Qt5
Take a look

Downloadable ebook (PDF, ePub) & Complete Source code

Also available from Leanpub and Amazon Paperback

[[ discount.discount_pc ]]% OFF for the next [[ discount.duration ]] [[discount.description ]] with the code [[ discount.coupon_code ]]

Purchasing Power Parity

Developers in [[ country ]] get [[ discount.discount_pc ]]% OFF on all books & courses with code [[ discount.coupon_code ]]
Well done, you've finished this tutorial! Mark As Complete
[[ user.completed.length ]] completed [[ user.streak+1 ]] day streak

Elegant shutdown of running threads was written by Martin Fitzpatrick .

Martin Fitzpatrick has been developing Python/Qt apps for 8 years. Building desktop applications to make data-analysis tools more user-friendly, Python was the obvious choice. Starting with Tk, later moving to wxWidgets and finally adopting PyQt.