由于最近使用了MdiArea控件时,由主窗体设置MDI下的每个子窗口的控件值,发现由于未设置活动窗口导致程序异常结束或只能操作当前活动窗口的的控件;
void Mainwindow::setdata(val){
//先判断当前是否存在窗口
if(ui->mdiArea->subwindowList().count()>0)
{
foreach(QMdiSubWindow *child,childWindows())//childwinows获取窗口标题
{
qDebug()<<"子窗口标题"<<child->windowTitle();//打印所有子窗口标题
ui->mdiArea->setActiveSubWindow(child);
formDocw=(Dialog*)ui->mdiArea->activeSubWidow()->widget();
formDocw->setSlider_dis(val);//setslider_dis为活动窗口dig中的控件参数设值
}
}
}
QList<QMdiSubWindow*> Mainwindow::childWindows()//获取标题
{
return ui->mdiArea->subWindowList();
}