在Qtabwidget中将QMdiSubWindow动态实现到QMdiArea中

时间:2017-06-02 09:11:24

标签: c++ qt qtabwidget qmdiarea

有我的问题,我想在tabwidget的活动标签的mdiArea中实现新的子窗口。但是今天你能做的唯一事情就是在最后一个选项卡/ 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();
}

1 个答案:

答案 0 :(得分:0)

我回过头来解决这个问题。 我已经宣布,你有没有建议QList mdiAreas; 之后,我将我的QList与tabwidget并行使用。

添加:

testwidget *instru= new testwidget;
QMdiSubWindow *instru;
subwindow = mdiAreas[actualMonitorIndex]->addSubWindow(instru);
instru->show();

编辑:

{{1}}

非常感谢你的帮助,我跳了,这将有助于其他人。