У меня есть слой, который заполняется виджетами
clickbleLabel *noteNameLbl = new clickbleLabel[info->amountNotes];
for(int i = 0; i < info->amountNotes; i++)
{
noteNameLbl[i].setText(info->notes[i].name);
showNotesLay->addWidget(¬eNameLbl[i]);
}
слой showNotesLbl определен ранее
QGridLayout *showNotesLay = new QGridLayout;
clickbleLabet - наследний от QLabel, который посылает сигнал, когда на его нажимают
У меня есть функция:
void GUI::clianNoteSlot()
{
while(QLayoutItem *tmpItem = showNotesLay->takeAt(0))
{
delete tmpItem->widget();
delete tmpItem;
}
}
которая должна удалять все виджеты, но при выполнении
delete tmpItem->widget();
программа аварийно завершается с сообщением:
То есть при выполнении
delete tmpItem->widget();
отладчик переходит в
clickbleLabel
Без понятия, как это исправить
Их также нужно удалять с самого слоя:
while(QLayoutItem *tmpItem = showNotesLay->itemAt(0)) {
showNotesLay->removeItem(tmpItem);
showNotesLay->removeWidget(tmpItem->widget());
delete tmpItem->widget();
delete tmpItem;
}
showNotesLay->update();
Продвижение своими сайтами как стратегия роста и независимости