Название: QTreeView qt 4.0.1) - проблема с удалением/добавлением строк Отправлено: 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) Название: QTreeView qt 4.0.1) - проблема с удалением/добавлением строк Отправлено: Admin от Октябрь 27, 2005, 16:22 я не совсем понял твою проблему, но у меня примерно такая
как удаляю что то из модели, выдается ошибка как я поискал, это багня в 4.0.1 и вот сиже жду когда ее поправят Название: QTreeView qt 4.0.1) - проблема с удалением/добавлением строк Отправлено: Admin от Октябрь 28, 2005, 11:15 меня тут вообще удивило что в QAbstractItemModel стоит пустышка на месте removeRow, хотя в доке об этом ни слова
|