Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: QListWidget
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Общие вопросы
demaker
Как в QListWidget удалить item, т.е QListWidgetItem?
Алексей1153
нужно всего лишь заглянуть в хелп. Пробуй делать это перед созданием таких постов :D


void removeItemWidget ( QListWidgetItem * item )
demaker
Так удаляет виджет, который в item, а не сам item.

Removes the widget set on the given item.
Алексей1153
ну если ты его создавал при помощи new , то и удали при помощи delete

lanz
Ненене!
QListWidgetItem *item = view->takeItem (id);
delete item;
demaker
:) точно, спасибо.
А то я искал deleteLater, а его нет QListWidgetItem
Авварон
ой, я слоупок:(
demaker
А еще такой вопрос.

Если я создаю
и делаю привязку к
QListWidget*lw = new QListWidget;
QListWidgetItem*lwi = new QLIstWidgetItem(lw);


потом
делаю

 delete lwi;


ошибки не будет
Алексей1153
lanz, так можно, конечно, только если нет разницы, полетят ли при этом всякие сигналы ) Если же remove , потом delete - то можно точно ограничить этот момент

demaker, QListWidgetItem в своём деструкторе сам должен отцепиться от родителя. Также, согласно канонам Qt, если удалить родительский виджет, он всех чайлдов удалит

И это всё, конечно, удобно, но не всегда :) Иногда, когда нужно, эту самодеятельность стОит пресекать
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.