You are emitting your signal from the thread before QApplication event loop is running (before a.exc()) so that signal never gets processed by the application, and thus the slot is not called.
I am not sure why the application ends however - need to think...
Bookmarks