qmdisubwindow的动态实施到qtabwidget中的qmdiarea



存在我的问题,我想在tabwidget的"活动"选项卡的mdiarea中实现新的subwindow。但是,今天唯一能做的就是在创建的最后一个选项卡/mdiarea中添加一个小部件(下面我的代码(。

如何动态切换(不独立声明每个MDIAREA(并填充当前TabWidget的mdiarea?

P.S:我试图替换:

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?之后,我在TabWidget并行使用Qlist。

添加:

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();

非常感谢您的帮助,我希望,这将对其他人有所帮助。

相关内容

  • 没有找到相关文章

最新更新