Russian Qt Forum
Сентябрь 30, 2024, 08:15 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [Qt4] Удаление QTreeWidgetItem из QTreeWidget  (Прочитано 15075 раз)
Mashin
Гость
« : Июнь 30, 2008, 10:27 »

Здравствуйте. Я не могу разобраться как удалить QTreeWidgetItem из QTreeWidget. В документации ничего по этому вопросу не нашел. Может кто-нибудь написать небольшой пример?
Записан
Mashin
Гость
« Ответ #1 : Июнь 30, 2008, 11:07 »

С удалением одного выделенного элемента я разобрался, удаляется с помощью
Код:
delete myTreeWidget->currentItem();

Не знаю, правда, насколько это правильно.

А как удалить сразу несколько выделенных элементов, если QTreeWidget я создавал с свойством
Код:
setSelectionMode(QAbstractItemView::MultiSelection);
Записан
Dodge
Гость
« Ответ #2 : Июнь 30, 2008, 11:23 »

Код:
QTreeWidget * myTreeWidget;
...
QList<QTreeWidgetItem*> selectedItems( myTreeWidget->selectedItems() );
foreach ( QTreeWidgetItem * item, selectedItems )
    delete item;
Записан
Mashin
Гость
« Ответ #3 : Июнь 30, 2008, 11:50 »

Спасибо
Записан
CroCIV
Гость
« Ответ #4 : Сентябрь 28, 2009, 08:01 »

Но позвольте, а зачем тогда нужна функция void QTreeWidget::removeItemWidget ( QTreeWidgetItem * item, int column ) Непонимающий
Или я ее неправильно понимаю, или она у меня не работает.   В замешательстве
Записан
Rcus
Гость
« Ответ #5 : Сентябрь 28, 2009, 08:18 »

Она нужна не самом пе себе, а как дополнение к itemWidget/setItemWidget.
Записан
CroCIV
Гость
« Ответ #6 : Сентябрь 28, 2009, 08:31 »

а как она работает?

вот ее реализация
 inline void QTreeWidget::removeItemWidget(QTreeWidgetItem *item, int column)
{ setItemWidget(item, column, 0); }
 где логика?

И по факту у меня какбэ на месте остается удаляемый элемент дерева нулевого уровня

Записан
BRE
Гость
« Ответ #7 : Сентябрь 28, 2009, 08:39 »

а как она работает?

вот ее реализация
 inline void QTreeWidget::removeItemWidget(QTreeWidgetItem *item, int column)
{ setItemWidget(item, column, 0); }
 где логика?

И по факту у меня какбэ на месте остается удаляемый элемент дерева нулевого уровня
Этот метод удаляет из элемента виджет, который устанавливался там методом:
void setItemWidget ( QTreeWidgetItem * item, int column, QWidget * widget )
Записан
CroCIV
Гость
« Ответ #8 : Сентябрь 28, 2009, 09:26 »

откомпилировалось, спасибо
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.049 секунд. Запросов: 21.