Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Crash при эмитте layoutChanged у QAbstractItemModel
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Модель/Представление
Vass
Моя модель наследуется от QAbstractItemModel и приделана к QTreeView через QSortFilterProxyModel.
После дропа item'a на дерево делаю emit layoutChange() у модели, в асситенте написано, что это, можно сказать единственный адекватный способ перерисовать дерево.
Однако, после этого вызова приложение валиться. бактрейс говорит что ошибка где-то в недрах Qt4Core в QProxyModel.
Самое интересное, что валится все только в том случае, когда дропаешь на нулевую колонку (колонку с деревом).

Кто-то может встречался с такой проблемой, я новичок в Qt, может что-то не так делаю, но уже замучался третий день биться с этой проблемой.
igor_bogomolov
Попробуй сделать такую полседовательность, и именно в таком порядке.
emit layoutAboutToBeChanged();
emit layoutChanged();

Должно помоч. По крайней мере в асистенте сказано, что для подклассов QAbstractItemModel, прежде чем выслать layoutChanged, необходимо выслать layoutAboutToBeChanged
Vass
Цитата(igor_bogomolov @ 21.4.2009, 15:29) *
Попробуй сделать такую полседовательность, и именно в таком порядке.
emit layoutAboutToBeChanged();
emit layoutChanged();

Должно помоч. По крайней мере в асистенте сказано, что для подклассов QAbstractItemModel, прежде чем выслать layoutChanged, необходимо выслать layoutAboutToBeChanged

Пробовал, непомогло :(

Цитата(igor_bogomolov @ 21.4.2009, 15:29) *
Попробуй сделать такую полседовательность, и именно в таком порядке.
emit layoutAboutToBeChanged();
emit layoutChanged();

Должно помоч. По крайней мере в асистенте сказано, что для подклассов QAbstractItemModel, прежде чем выслать layoutChanged, необходимо выслать layoutAboutToBeChanged



хм... похоже помогло... сейчас потестирую...
Но как то странно делал вызов layoutAboutToBeChanged(); в модели потом вносил изменения и делал layoutChanged(); не помогало, а подряд вроде работает.

Нет.. все-таки не помогло, стало так: когда дроп из себя в себя иногда не валиться, когда дроп извне валиться всегда.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.