I may be entirely off the mark here, but can't you set up your connections to be Qt::DirectConnection, even over different threads?
connect(this, SIGNAL(signal()), that, SLOT(slot()), Qt::DirectConnection);
connect(this, SIGNAL(signal()), that, SLOT(slot()), Qt::DirectConnection);
To copy to clipboard, switch view to plain text mode
That way when you call the signal execution immediately jumps to the other thread's slot. Granted, this will remove some of the reason for using two threads to begin with, but it should still keep the GUI responsive.
Bookmarks