i have qstackedlayout contains few qwidget on it. widgets layout qvboxlayout have few qpushbutton. wanted remove widgets inside qstackedlayout , delete widgets , layouts but want buttons not deleted 'cause put them widget later.
here's code:
while (qlayoutitem *item = m_stacked_layout->takeat(0)) { qwidget *w = item->widget(); (int = 0; < w->layout()->count(); i++) { qpushbutton *button = qobject_cast<qpushbutton *>(w->layout()->itemat(i)->widget()); if (button) { w->layout()->removewidget(button); } } delete w; delete item; } the application crashes @ line delete w;. and, if remove delete lines, application works fine.
but want buttons not deleted 'cause put them widget later.
- hide widgets want transfer
- set parent widget widgets
nullptr - later... set necessary parent , show widgets
note: if want delete widgets inside slots, should use deletelater method.