destroyMainLayoutWidget(QLayout* layout){ QLayoutItem *child; int num = layout->count(); if(num != 0){ while (!layout->isEmpty()) { child = layout->takeAt(0); if(child->widget()) { child->widget()->setParent(nullptr); }else if(child->layout()){ destroyMainLayoutWidget(child->layout()); } delete child; } } }