存在我的问题,我想在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();
非常感谢您的帮助,我希望,这将对其他人有所帮助。