Just to conclude my findings regarding this thread, I have had to create a separate executable and start this new process & communicate with it via a stub dll and shared memory.
I don't actually find this a suitable solution, but it appears like the only "official" way using Qt.
As it happens I did have a QApplication running on a non-main thread (the thread it was on was created by the dll). Under Windows it all seemed to be working just fine, but the official line is that this sort of usage (ie, QApplication not being created on the executables main thread) is undefined as on some platforms it may lead to odd GUI behaviour. By odd behaviour I think this means the GUI may not respond as expected. I didn't follow my experiments over to OSX and Linux, so I cannot comment further - in hindsight I think I should have just to see what happens.
So not a neat solution in the end, but I'll just have to live with it![]()
Bookmarks