void ClearLayout(QLayout* layout) {
while (QLayoutItem* item = layout->takeAt(0))
{
if (QWidget* widget = item->widget()){
widget->setParent(nullptr);
layout->removeWidget(widget);
widget->deleteLater();
}
if (QLayout* childLayout = item->layout())
ClearLayout(childLayout);
if (QSpacerItem* spaerItem = item->spacerItem())
layout->removeItem(spaerItem);
delete item;
}
}