Есть моя проблема, я хочу реализовать новое подокно в mdiArea активной вкладки tabwidget. Но единственное, что вы можете сделать сегодня, это добавить виджет в последнюю созданную вкладку / mdiArea (мой код ниже).
Как я могу динамически переключаться (без объявления каждой mdiArea независимо) и заполнять mdiArea текущего tabwidget?
П.С .: Я пытался заменить:
zoneCentrale->addSubWindow(subwindow)
от
ui->tabWidget->currentWidget()->addSubWindow(subwindow)
безуспешно.
void MainWindow::settingsAddLayout_triggered()
{
zoneCentrale = new QMdiArea;
ui->tabWidget->addTab(zoneCentrale,"new");
}
void MainWindow::settingsEditLayout_triggered()
{
testwidget *subwindow = new testwidget;
QMdiSubWindow *uneSousFenetre = zoneCentrale->addSubWindow(subwindow);
uneSousFenetre->setWindowFlags(Qt::FramelessWindowHint);
uneSousFenetre->resize(200,200);
subwindow->show();
}
Я возвращаюсь с решением проблемы.
Я заявляю, вы предлагаете QList mdiAreas;
После этого я использую свой QList параллельно с tabwidget.
Добавление:
Area = new QMdiArea;
mdiAreas.append(Area);
ui->tabWidget->addTab(Area,"new");
int lastindex = ui->tabWidget->count()-1;
ui->tabWidget->setCurrentIndex(lastindex);
actualMonitorIndex = lastindex;
Редактировать:
testwidget *instru= new testwidget;
QMdiSubWindow *instru;
subwindow = mdiAreas[actualMonitorIndex]->addSubWindow(instru);
instru->show();
Большое спасибо за вашу помощь, и я надеюсь, это поможет кому-то еще.
Других решений пока нет …