Есть проблема, пишу программу, строющую простую, абстрактную топологию компьютерной сети с обходом сети , сортировкой и т п. за свичи я взял свой класс, унаследованный от QPushButton, но если во время исполнения удалить мой объект , программа выдает ошибку . Я испробовал и delete, и deletelater, и наследование от главного виджета, не могу понять, в чём ошибка
вот куски кода :
Button* Local::create_button(Button* prev)//создание кнопки
{
Button* pcmd= new Button(prev);
pcmd->setIcon(pcmd->pix);
pcmd->set_nm(tru.cols);
butt<<pcmd; //добавляем указатель на созданную кнопку в список
pcmd->setFixedSize(40,40);
connect(pcmd,SIGNAL(clicked()),SLOT(slotButtonClicked()));
connect(pcmd,SIGNAL(RichButtonClicked()),SLOT(slotRichButtonClicked()));
return pcmd;
}
void Local::slotButtonClicked()//слот обработки сигнала
{
...
if(ustlocal==rue)
{
Button* buf=create_button(((Button*)sender()));
...
}
if(delllocal==true)
{
butt[i]->deleteLater();
}
pereust_layout();
update();
}