Silly of me to try to create local event loops in worker threads. I can just use the main event loop. That's what I'm doing. I don't know when anyone would need local event loops but they sure don't seem to work in the run() function of a QRunnable because, if anything, at shutdown the api wants to send events to objects owned by a different thread, which is a no-no. So, now, I am just using a QThreadPool and making sure my widgets are created in the main thread and that I update objects like QProgressDialogs using signals and slot. My shutdown problems are now resolved.
Bookmarks