crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> QListWidget
demaker
  опции профиля:
сообщение 4.3.2013, 10:27
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 73
Регистрация: 29.1.2013
Пользователь №: 3691

Спасибо сказали: 0 раз(а)




Репутация:   0  


Как в QListWidget удалить item, т.е QListWidgetItem?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 4.3.2013, 10:30
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


нужно всего лишь заглянуть в хелп. Пробуй делать это перед созданием таких постов :D


void removeItemWidget ( QListWidgetItem * item )
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
demaker
  опции профиля:
сообщение 4.3.2013, 10:36
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 73
Регистрация: 29.1.2013
Пользователь №: 3691

Спасибо сказали: 0 раз(а)




Репутация:   0  


Так удаляет виджет, который в item, а не сам item.

Removes the widget set on the given item.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 4.3.2013, 10:43
Сообщение #4


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


ну если ты его создавал при помощи new , то и удали при помощи delete

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
lanz
  опции профиля:
сообщение 4.3.2013, 10:47
Сообщение #5


Старейший участник
****

Группа: Участник
Сообщений: 690
Регистрация: 28.12.2012
Пользователь №: 3660

Спасибо сказали: 113 раз(а)




Репутация:   8  


Ненене!
QListWidgetItem *item = view->takeItem (id);
delete item;
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
demaker
  опции профиля:
сообщение 4.3.2013, 10:47
Сообщение #6


Студент
*

Группа: Участник
Сообщений: 73
Регистрация: 29.1.2013
Пользователь №: 3691

Спасибо сказали: 0 раз(а)




Репутация:   0  


:) точно, спасибо.
А то я искал deleteLater, а его нет QListWidgetItem
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Авварон
  опции профиля:
сообщение 4.3.2013, 10:49
Сообщение #7


Студент
*

Группа: Участник
Сообщений: 99
Регистрация: 26.4.2009
Пользователь №: 709

Спасибо сказали: 14 раз(а)




Репутация:   0  


ой, я слоупок:(

Сообщение отредактировал Авварон - 4.3.2013, 10:53
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
demaker
  опции профиля:
сообщение 4.3.2013, 10:57
Сообщение #8


Студент
*

Группа: Участник
Сообщений: 73
Регистрация: 29.1.2013
Пользователь №: 3691

Спасибо сказали: 0 раз(а)




Репутация:   0  


А еще такой вопрос.

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


потом
делаю

 delete lwi;


ошибки не будет
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 4.3.2013, 11:10
Сообщение #9


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


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

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

И это всё, конечно, удобно, но не всегда :) Иногда, когда нужно, эту самодеятельность стОит пресекать

Сообщение отредактировал Алексей1153 - 4.3.2013, 11:11
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.3.2024, 1:41