Здравствуйте!
Создаю QTreeWidget в котором вывожу некое дерево, например:
root
|__childs
| |
|___|__child1
|___|__chlid2
подскажите как можно удалить выделенный item? (child1 например или childs или т.п.)
пробую сделать так:
QTreeWidget *treeWidget;
QTreeWidgetItem *item;
// тут создаются item'ы и выводятся в treeWidget
// собственно тут и пробую осуществить удаление
void mainClass :: removeItem()
{
treeWidget -> removeItemWidget(item, 1);
}
QAction *remove;
// тут создается контекстное меню для remove
connect( remove, SIGNAL(triggered()), SLOT(removeElement()) );
И при нажатии правой кнопкой мышки появляется контекстное меню, где при выборе "удалить" хотелось бы чтобы выделенный item в дереве удалялся. Но в таком варианте как у меня, удаления не происходит...
добавлена разметка — Кодт
08.03.08 02:12: Перенесено модератором из 'C/C++' — Кодт
Здравствуйте, wavesql, Вы писали:
W>пробую сделать так:
W>W>// собственно тут и пробую осуществить удаление
W>void mainClass :: removeItem()
W>{
W> treeWidget -> removeItemWidget(item, 1);
W>}
W>
Это ты не то пытаешься удалить. Смотри в сторону QTreeWidget::takeTopLevelItem и QTreeWidgetItem::takeChild / QTreeWidgetItem::takeChildren. Вероятно, можно еще просто попробовать вызвать delete для соответствующего QTreeWidgetItem.