Russian Qt Forum

Qt => Model-View (MV) => Тема начата: mugabe от Июнь 04, 2009, 06:01



Название: QAbstractItemModel::match(...)
Отправлено: mugabe от Июнь 04, 2009, 06:01
Пытаюсь с помощью QAbstractItemModel::match(...) выбрать необходимые данные из модели, но не происходит ровным счетом ничего :(

Вызываю так:
Код:
QModelIndexList il = match(QModelIndex(), Qt::UserRole + 1,  data, 1, Qt::MatchExactly);
Возможно, я неправильно указываю startIndex. Что тогда указывать, если надо искать данные во всей модели?

QAbstractItemModel::data(...) после вызова match ни разу не вызывается.

Что я делаю не так?


Название: Re: QAbstractItemModel::match(...)
Отправлено: EhTemka от Июнь 04, 2009, 13:29
QAbstractItemModel::match(...)  не позволяет искать данные во всей модели. Она ищет данные только в одной колонке, которую ты указал в startIndex, начиная с той строки, которую ты указал там же. Более того, если у тебя дерево, то рекурсивно можно искать только по колонке, в которой находится парент индекс.

Я написал свой match, потому как ихний меня не устраивает (как таз из-за поиска по дереву)

Посмотри код этой функции в сорцах qt и всё поймёшь.