After researching PyQT5 threading while updating a simple app with cleary, we found that most of the documentation regarding this topic is incorrect, including official documentation.
We eventually stumbled across a few articles (listed below) that had correct methods and documentation as to how this works.
Reference:
- https://www.learnpyqt.com/courses/concurrent-execution/multithreading-pyqt-applications-qthreadpool/
- https://stackoverflow.com/questions/11426335/qthread-execution-freezes-my-gui
- https://blog.qt.io/blog/2010/06/17/youre-doing-it-wrong/ ...which dead links to where they promise the real information is. Here is the referenced blog post on archive.org
Functional threading example: main.py