Второй медленнее, чем первый? значит неэффективно список сделан
я его не делал, QModelIndexList использовал. Медленнее потому что при каждом поиске индекса в списке
C++ (Qt)
if (_searchResults->contains(index))
return Qt::yellow;
нужно сравнивать текущий индекс с каждый индексом из списка.
На много быстрее оказалось ещё раз проверить условие:
C++ (Qt)
if (data(index).toString(). contains(searchStr))
return Qt::yellow;
но как-то не правильно смешивать поиск и представление...