If your classes are in different threads, you need to have an event loop running (in the receiving object's thread). Otherwise the signals will be not delivered.
Your classA seems to be in the context of the GUI thread. The GUI thread has an event loop (you do create a QApplication and call its exec() somewhere, right). So it can receive signals.
Bookmarks