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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как удалить последний элемент в listWidget?  (Прочитано 4276 раз)
webmaxos
Гость
« : Декабрь 05, 2008, 22:08 »

использую

Row=ui.listWidget->currentRow();
QListWidgetItem *newItem=ui.listWidget->takeItem(Row);

Но как написано в справке у takeItem дожен быть вышестоящий элемент.

Поэтмоу при удалении последнего элемента листа выдает ошибку.
Записан
Rcus
Гость
« Ответ #1 : Декабрь 06, 2008, 00:35 »

Код
C++ (Qt)
delete ui.listWidget->currentItem();
когда список пуст currentItem() вернет 0 указатель, а delete проверяет указатели на 0 перед удалением, так что работает.
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #2 : Декабрь 08, 2008, 14:01 »

Но как написано в справке у takeItem дожен быть вышестоящий элемент.

Цитировать
QListWidgetItem * QListWidget::takeItem ( int row )
Removes and returns the item from the given row in the list widget; otherwise returns 0.
Items removed from a list widget will not be managed by Qt, and will need to be deleted manually.

Что-то я такого невижу в ассистанте

Поэтмоу при удалении последнего элемента листа выдает ошибку.

Никаких прблем недолжно быть. Сам пользуюсь подобным кодом. Какая версия Qt у вас?
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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