Всем привет. Понадобилось мне в программе использовать дочерние окна.
При добавлении нескольких окон активным остается последнее, а мне надо, например, первое. Стал искать, как это сделать. Логичной функции setCurrentSubWindow(QMdiSubWindow*) нет. Ладно, есть функция setActiveSubWindow(QMdiSubWindow*), вроде то что нужно, и даже работает:
QMdiArea *midArea = new QMdiArea(this);
setCentralWidget(midArea);
//midArea->setViewMode(QMdiArea::TabbedView);
QLabel *label1 = new QLabel("first");
QMdiSubWindow *sw1 = midArea->addSubWindow(label1);
QLabel *label2 = new QLabel("second");
QMdiSubWindow *sw2 = midArea->addSubWindow(label2);
midArea->setActiveSubWindow(sw1);
После выполнения кода будет активно первое окно.
НО! если теперь расскоментировать строчку midArea->setViewMode(QMdiArea::TabbedView), от активным будет всё равно второе окно.
1) Это баг?
2) Как сделать активным окно при TabbedView виде?