void layoutOperations::clearLayout( QLayout *Layout ) { if ( Layout == NULL ) return; while ( true ) { QLayoutItem *Item = Layout->takeAt(0); //qDebug() << "clearLayout: item = " << Item; if ( Item == NULL ) break; //qDebug() << "clearLayout: this is " << " " << Item->layout() << Item->spacerItem() << Item->widget(); QLayout *ItemLayout = Item->layout(); QSpacerItem *ItemSpacer = Item->spacerItem(); QWidget *ItemWidget = Item->widget(); if ( ItemLayout != NULL ) { clearLayout( ItemLayout ); ItemLayout->deleteLater(); delete Item; } else if ( ItemSpacer != NULL ) { delete Item; } else if ( ItemWidget != NULL ) { ItemWidget->deleteLater(); delete Item; } } }