Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Segmentation fault при использовании QSortFilterProxyModel и QTreeView
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Модель/Представление
edwardoid
Ситуация такая: Есть некоторая модель, котороая наследует 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
edwardoid, надо больше цепочки вызовов, вплоть до функций твоего кода.
edwardoid
Цитата(Litkevich Yuriy @ 4.4.2012, 18:42) *
edwardoid, надо больше цепочки вызовов, вплоть до функций твоего кода.


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


Выше showDialog(MyModel* model) моих функций нет...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.