Динамическая реализация QMdiSubWindow в QMdiArea в Qtabwidget

Есть моя проблема, я хочу реализовать новое подокно в 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();
}

0

Решение

Я возвращаюсь с решением проблемы.
Я заявляю, вы предлагаете 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();

Большое спасибо за вашу помощь, и я надеюсь, это поможет кому-то еще.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]