crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Segmentation fault при использовании QSortFilterProxyModel и QTreeView, QTreeView + Custom ProxyModel + Custom Model -> Segmentation fault
edwardoid
  опции профиля:
сообщение 4.4.2012, 17:31
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 171
Регистрация: 1.5.2008
Из: Ереван, Армения
Пользователь №: 164

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




Репутация:   0  


Ситуация такая: Есть некоторая модель, котороая наследует QAbstractItemModel: MyParentModel.
Другая модель которая наследует MyParentModel: MyModel.
Модель, которая наследует QSoftFilterProxyModel: MyProxyModel
Последняя фильтрует(мне нужно только переопределить bool QSortFilterProxyModel::filterAcceptsRow(int row, QModelIndex source_index);
Я ее переоределил.

Есть QTreeView в которую я делаю setModel(proxy);
// В этом виджете и находится этот QTreeView
bool MyWidget::setModel(MyModel* model)
{
    MyProxyModel* proxy = new MyProxyModel();
    proxy->setSourceModel(model);
    ui.view->setModel(proxy);
}


Есть также диалог в котором находится этот MyWidget. Так вот, когда я вызываю exec(); То программа вылетает с ошибкой в глубинах Qt.
Но если не использовать MyProxyModel, то все ок. Т.е. MyModel написано корректно, его QTreeView умеет нормально показывать.

Версия Qt: 4.7.0
Платформа: Windows 7 x64

Вот скрин с Call Stack-ом и местом где вылетает:


В чем проблема? Уже 3-ий день воюю... Помогите.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 4.4.2012, 17:42
Сообщение #2


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

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

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




Репутация:   94  


edwardoid, надо больше цепочки вызовов, вплоть до функций твоего кода.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
edwardoid
  опции профиля:
сообщение 4.4.2012, 18:56
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 171
Регистрация: 1.5.2008
Из: Ереван, Армения
Пользователь №: 164

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




Репутация:   0  


Цитата(Litkevich Yuriy @ 4.4.2012, 18:42) *
edwardoid, надо больше цепочки вызовов, вплоть до функций твоего кода.


// В этом виджете и находится этот QTreeView
bool MainWindow::showDialog(MyModel* model)
{
    ui.myDialog->setModel(model);
    ui.myDialog->exec(); // Здесь програ сдыхает
}


Выше showDialog(MyModel* model) моих функций нет...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 22.11.2024, 22:21