Существует QWorkspace. Программа создает окна моего типа(Test). код создания нового окошка:
Раскрывающийся текст
void TestCreator::newTest() [signal]
{
createNewTest()->show();
...
...
}
Test* TestCreator::createNewTest()
{
Test* pTest = new Test;
workSpace->addWindow(pTest);
pTest->setAttribute(Qt::WA_DeleteOnClose);
pTest->setWindowTitle("Unnamed Test");
pTest->showMaximized();
pOpenTest = pTest; //pOpenTest указывает на окно открытое в данные момент
return pTest;
}
Раскрывающийся текст
connect(workSpace, SIGNAL(windowActivated(QWidget*)), this, SLOT(changeFocus(QWidget*)));
void TestCreator::changeFocus(QWidget* wid)
{
pOpenTest = wid; // в этом месте ошибка
pOpenTest->myMethod();
...
}
Может быть нужно как нибудь переопределить сигнал windowActivated() чтобы параметр был моим классом..