Reference - [1]

Very basically, I have a 'base' class (and form) containing 'page1', 'page2', and 'page3' classes (and forms). Each page is a different subclass of QWidget, and 'base' is a subclass of QMainWindow which has a StackedWidget. I add 'page1', 'page2', and 'page3' to the StackedWidget in the constructor of 'base'.

The constructor also starts two threads (QThread subclasses with 'run' reimplemented). What is the best way for me to allow the 'page1', 'page2', and/or 'page3' classes access to these threads? One thread (I'll call it 'robot') maintains communication with a robot, and has a few callable methods for obtaining information or performing actions (the actual work is done in the thread). It can be called easily from 'base', but not from 'page1', 'page2', or 'page3'.

Signals and slots would be a workaround but they'd all have to be defined in base, which would get very unweildy very fast, even if I use signalmapper etc. etc.

[1] - http://www.qtcentre.org/threads/6096...or-readability