async invalidate filter QSortFilterProxyModel
Создал класс, унаследованный от QSortFilterProxyModel. Я также cбрасываю фильтрацию при смене режима фильтрации. Но программа вылетает в строке без подробного описания ошибки на строке invalidateFilter, в чем может быть причина
Сброс фильтра выполняю асинхронно, чтобы UI не зависал во время фильтрации. Когда фильтрация закончится бросаю сигнал для UI
QObject::connect(&_watcher, SIGNAL(finished()), this, SLOT(filterFinishedPreProcessing()));
void MyModel::filterFinishedPreProcessing()
{
endResetModel();
emit(filterFinished());
}
void MyModel::applyFilter()
{
if(_watcher.isRunning())
{
return;
}
beginResetModel();
_filter.clear();
_filter.append(_conditions);
cacheSourceRowCount();
setFilterProgress(0);
_future = QtConcurrent::run([this]() mutable { invalidateFilter(); });
_watcher.setFuture(_future);
}