Did you ever find a solution? I'm in a similar spot. I have a class that polls a serial port for data. Upon receiving data, it passes it to another class to analyze the data. The Analyze class emits a signal if the data requires logging. A third class, Logger, has a slot for the data to log it to a web server. I separated the Logger class so I could possibly use it elsewhere within the program.

Currently, I'm loading the Polling class in main and shuffling it off to the globalInstace of QThreadPool. I load up the other two classes within the Polling class and connect the SIGNAL/SLOT there.