crossplatform.ru

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

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> QTreeWidget
gpepsi
  опции профиля:
сообщение 29.7.2010, 7:58
Сообщение #1


Студент
*

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

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




Репутация:   0  


странное поведение при удалении элемента.

Сначала есть строки. Например
1. aaa
2. bbb

пытаюсь удалить строку и перерисовать QTreeWidget
treeWidget->clear();

foreach(...)
{
    QTreeWidgetItem* item = new QTreeWidgetItem();
    ...
    treeWidget->addTopKevelItem(item);
}

treeWidget->reset();


в результате получаю
1. bbb
2. bbb

откуда взялась вторая сторока ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 29.7.2010, 11:08
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


не увидел в коде процесса удаления. Вижу только создание ещё одного элемента
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
gpepsi
  опции профиля:
сообщение 29.7.2010, 11:41
Сообщение #3


Студент
*

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

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




Репутация:   0  


Цитата(Litkevich Yuriy @ 29.7.2010, 12:08) *
не увидел в коде процесса удаления. Вижу только создание ещё одного элемента


clear в самом начале
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 29.7.2010, 12:24
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


не понятно зачем весь виджет чистить, если тебе надо только конкретную строку удалить - это раз.
приведённый код вообще ничего не объясняет - это два.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
gpepsi
  опции профиля:
сообщение 29.7.2010, 14:10
Сообщение #5


Студент
*

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

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




Репутация:   0  


Цитата(Litkevich Yuriy @ 29.7.2010, 13:24) *
не понятно зачем весь виджет чистить, если тебе надо только конкретную строку удалить - это раз.


так проще

Цитата(Litkevich Yuriy @ 29.7.2010, 13:24) *
приведённый код вообще ничего не объясняет - это два.

код - это пример работы с виджетом. Что он еще должен пояснить ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 29.7.2010, 15:14
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


не понятен foreach.
Тот код, который ты привёл, ни когда не приведёт к случайному элементу. А тот код который ты не привел и виноват в этом случайном элементе

Цитата(gpepsi @ 29.7.2010, 18:10) *
так проще
ни когда бы мне такая мысль в голову не пришла. Удалить один элемент намного проще.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
gpepsi
  опции профиля:
сообщение 6.8.2010, 10:49
Сообщение #7


Студент
*

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

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




Репутация:   0  


Цитата(Litkevich Yuriy @ 29.7.2010, 16:14) *
ни когда бы мне такая мысль в голову не пришла. Удалить один элемент намного проще.


ну вот пример.
В модели лежат данные, которые отображаются как список
1
2
3
4


пришли новые данные
2
3
5


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

З.Ы. Поэтому проще грохнуть и отрисовать новые данные...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 6.8.2010, 10:54
Сообщение #8


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

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

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




Репутация:   34  


gpepsi, а просто заменить поверх ? )
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
gpepsi
  опции профиля:
сообщение 6.8.2010, 19:13
Сообщение #9


Студент
*

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

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




Репутация:   0  


Цитата(Алексей1153 @ 6.8.2010, 11:54) *
gpepsi, а просто заменить поверх ? )


Цитата(gpepsi @ 6.8.2010, 11:49) *
З.Ы. Поэтому проще грохнуть и отрисовать новые данные...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 7.8.2010, 6:53
Сообщение #10


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

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

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




Репутация:   34  


gpepsi, вот ведь заладил... Ну грохай. Когда будет элементов этак 5000 - передумаешь :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 2.12.2022, 16:01