Пока в тестовом примере пробую так распознать тот документ слот которого нужно вызвать:
в конструкторе главного окна приложения
  ws = new QMdiArea;
  setCentralWidget(ws);
  DocWindow* dw     = new DocWindow;
  ws->addSubWindow(dw);
  connect(pactSave,SIGNAL(triggered()),this,SLOT(slotSave()));
  DocWindow* dw2     = new DocWindow;
  ws->addSubWindow(dw2);
  ws->setActiveSubWindow(qobject_cast<QMdiSubWindow*>(dw2));
реализация слота slotSave
void MDIProgram::slotSave(){
  DocWindow* cw = qobject_cast<DocWindow*>(ws->activeSubWindow());
  if(cw) {
     cw->slotSave();
  } else {
     std::cerr << "no active sub win \n";
  }
}
указатель cw содержит ноль, т.к. в консоле печатается no active sub wn.
Что делаю не так?




