Пока в тестовом примере пробую так распознать тот документ слот которого нужно вызвать:
в конструкторе главного окна приложения
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.
Что делаю не так?