Russian Qt Forum

Qt => Вопросы новичков => Тема начата: demaker от Август 23, 2013, 12:03



Название: QTreeWidget, QtreeWidgetItem
Отправлено: demaker от Август 23, 2013, 12:03
Не удаляется QTreeWidgetItem

Код
C++ (Qt)
void MainWindow::activeItem(QTreeWidgetItem* item,int column)
{
   indexofbase = baseitem->indexOfChild(item);
}
 
void MainWindow::sl_removeElement()
{
   if(indexofbase != -1)
   {        
       QTreeWidgetItem*item = (baseitem->stantionListItems.at(indexofbase));
       treewidget->removeItemWidget(item,1);    
       baseitem->stantionListItems.removeAt(indexofbase);        
   }
   else
   {
   }
}
 
 

Подскажите в чем ошибка? Спасибо!


Название: Re: QTreeWidget, QtreeWidgetItem
Отправлено: Bepec от Август 23, 2013, 12:09
А можно чуть конкретики? baseItem это что такое? А если вы надеетесь удалить строкой treewidget->removeItemWidget(item,1);, то вы ошибаетесь - это удаляет Виджет из Итема. Чтобы удалить итем - надо удалить итем,как бы странно не звучало.

У вас динамически создаются итемы или нет?


Название: Re: QTreeWidget, QtreeWidgetItem
Отправлено: demaker от Август 23, 2013, 12:11
Да создаются.
Я понял Вас
нужно сделать

Код
C++ (Qt)
delete item;
 

Спасибо!