Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Андрей от Май 07, 2012, 16:55



Название: Первое знакомство с прокси моделью. Не могу настроить фильтр.
Отправлено: Андрей от Май 07, 2012, 16:55
Есть модель, которая адекватно отображается в представлении.
Пытаюсь прикрутить прокси.
Так работает:
Код:
    
    this->model = new WordListModel(this->mw->Manager, this);
    this->proxy = new QSortFilterProxyModel(this);
    this->proxy->setDynamicSortFilter(true);
    this->proxy->setSourceModel(this->model);
    this->ui->tableView->setModel(this->proxy)
Хочу фильтровать значения по столбцу с номером 3.
Описываю слот ComboBox.
Код:
void TwoLangViewForm::on_langBox_currentIndexChanged(int index)
{
    QString filter = LanguageString(this->mw->userLanguage.at(index));
   if (!proxy) return;

    proxy->setFilterFixedString(filter);
    proxy->setFilterKeyColumn(0);
}

Вылетает и на proxy->setFilterFixedString(filter); , и на proxy->setFilterKeyColumn(0); .
В filter получаю адекватное значение.
Что не так делаю?


Название: Re: Первое знакомство с прокси моделью. Не могу настроить фильтр.
Отправлено: mutineer от Май 08, 2012, 10:21
хз... как вылетает? покажи остальной код


Название: Re: Первое знакомство с прокси моделью. Не могу настроить фильтр.
Отправлено: Андрей от Май 08, 2012, 11:29
Ошибку нашёл. this->proxy используется тогда, когда не инициализирована.
ComboBox создавал раньше, чем модель. А  this->proxy было непонятно чем.