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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTreeView qt 4.0.1) - проблема с удалением/добавлением строк  (Прочитано 6085 раз)
Jesaul
Гость
« : Октябрь 27, 2005, 15:48 »

Делаю  задачу, в которой столкнулся с gpf-ом.
Более конкретно - имеется класс, производный от QTreeView который пользуется своим собственной абстрактной моделью QAbstractItemModel.
Так вот, когда создается иерархическая структура внутри QTreeView, потом в этой структуре выполняется выбор элемента, то после этого removeRows с последующим insertRows вываливается.
Причина вылета в том, что после удаления всех записей высшего уровня, внутри QAbstractItemModel что-то да остается.
Вот это видно тут: persistent.indexes.count() == 1

void QAbstractItemModelPrivate::columnsAboutToBeRemoved(const QModelIndex &parent,
                                                        int first, int last)
{
    persistent.changed.clear();
    persistent.invalidated.clear();
    for (int position = 0; position < persistent.indexes.count(); ++position) {
        QModelIndex index = persistent.indexes.at(position)->index;
        if (index.isValid() && index.parent() == parent) {
            if (index.column() > last) // after the removed columns
                persistent.changed.append(position);
            else if (index.column() >= first) // about to be removed
                persistent.invalidated.append(position);
        }
    }
}

Что и приводит к проблемам.
Если выбранного элемента нет, то все в порядке, но в данном случае clearSelection не помогает.
Помогите понять, что тут за проблемы - или как полностью очистить QTreeView(QAbstractItemModelPrivate)
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #1 : Октябрь 27, 2005, 16:22 »

я не совсем понял твою проблему, но у меня примерно такая

как удаляю что то из модели, выдается ошибка

как я поискал, это багня в 4.0.1 и вот сиже жду когда ее поправят
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #2 : Октябрь 28, 2005, 11:15 »

меня тут вообще удивило что в QAbstractItemModel стоит пустышка на месте removeRow, хотя в доке об этом ни слова
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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