Всё, я решил задачу сам!
Делюсь с теми, кто задаётся тем же вопросом:
Для этого я использовал метод "внешний указатель" для обеспечение обратной связи сцены в MainWindow.
Спасибо за подсказку одному моему австрийскому другу.
1) создаём статический указатель (на всякий случай, я запаковал его внутрь класса)
class MainWinConnect
{
public:
static MainWindow * pMainWin;
};
и где-нибудь создаём тело для этого же указателя:
MainWindow * MainWinConnect::pMainWin;
2) В конструкторе нашего класса MainWindow просто записываем адрес самого себя прямо в наш указатель:
MainWinConnect::pMainWin = this;
3) Теперь стало возможным обращаться к функциям MainWindow практически из любого места, даже если объект класса MyScene создан непосредственно внутри самого MainWindow.
class MainWindow
{
public:
void callMe(int someData);
...
MyScene * scene;
}
void MyScene::doSomething()
{
...
MainWinConnect::pMainWin->callMe(1234);
...
}
Недостаток метода: подходит для классов-одиночек, поэтому любые обратные обращения лучше выполнять через сигналы-слоты, либо размещать все важные указатели прямо в классе-дочке