QGridLayout* pLayout4 = qobject_cast<QGridLayout*>( ui->Wid1->layout());
if(nullptr != pLayout4)
{
QLayoutItem *pLayOutItem = nullptr;
while ((pLayOutItem = pLayout4->takeAt(0)) != nullptr)
{
pLayout4->removeWidget(pLayOutItem->widget());
pLayOutItem->widget()->setParent(nullptr);
delete pLayOutItem;
}
delete pLayout4;
pLayout4= nullptr;
}
void deleteAllInLayout(QLayout* layout)
{
if(nullptr == layout)
{
return;
}
QLayoutItem *child;
while ((child = layout->takeAt(0)) != nullptr)
{
QLayout* pLayout = child->layout();
if(nullptr != pLayout)
{
deleteAllInLayout(pLayout);
}
else
{
QWidget* pCWidget = child->widget();
if(nullptr != pCWidget )
{
//setParent为NULL,防止删除之后界面不消失
pCWidget->setParent(nullptr);
delete pCWidget;
pCWidget = nullptr;
}
}
delete child;
child = nullptr;
}
}