【问题标题】:Dynamic implementation of QMdiSubWindow into QMdiArea in QtabwidgetQTabwidget中QMdiSubWindow动态实现到QMdiArea中
【发布时间】:2017-11-03 15:16:54
【问题描述】:

有我的问题,我想在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();
}

【问题讨论】:

    标签: c++ qt qtabwidget qmdiarea


    【解决方案1】:

    我回来解决问题。 我已经声明,你有没有建议一个 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();
    

    非常感谢您的帮助,我希望这会帮助其他人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-28
      • 1970-01-01
      • 1970-01-01
      • 2011-12-08
      • 1970-01-01
      • 1970-01-01
      • 2015-03-11
      相关资源
      最近更新 更多