crossplatform.ru

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


  Ответ в Crash при эмитте layoutChanged у QAbstractItemModel
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Vass Дата 21.4.2009, 16:35
 
Цитата(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(); не помогало, а подряд вроде работает.

Нет.. все-таки не помогло, стало так: когда дроп из себя в себя иногда не валиться, когда дроп извне валиться всегда.
igor_bogomolov Дата 21.4.2009, 14:29
  Попробуй сделать такую полседовательность, и именно в таком порядке.
emit layoutAboutToBeChanged();
emit layoutChanged();

Должно помоч. По крайней мере в асистенте сказано, что для подклассов QAbstractItemModel, прежде чем выслать layoutChanged, необходимо выслать layoutAboutToBeChanged
Vass Дата 21.4.2009, 14:02
  Моя модель наследуется от QAbstractItemModel и приделана к QTreeView через QSortFilterProxyModel.
После дропа item'a на дерево делаю emit layoutChange() у модели, в асситенте написано, что это, можно сказать единственный адекватный способ перерисовать дерево.
Однако, после этого вызова приложение валиться. бактрейс говорит что ошибка где-то в недрах Qt4Core в QProxyModel.
Самое интересное, что валится все только в том случае, когда дропаешь на нулевую колонку (колонку с деревом).

Кто-то может встречался с такой проблемой, я новичок в Qt, может что-то не так делаю, но уже замучался третий день биться с этой проблемой.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 27.4.2024, 22:05