需求时这样的:根据配置动态增加一些控件到指定的布局中,但是在添加控件到布局中时,需要先把布局中的控件都删除。
1 //清空m_layoutMain原布局内的所有元素
2 QLayoutItem *child;
3 while ((child = m_layoutMain->takeAt(0)) != nullptr) {
4 if(child->widget()) {
5 child->widget()->setParent(nullptr);//setParent(nullptr),防止删除之后界面不消失
6 delete child->widget();//释放
7 }
8 delete child;
9 }