Я ищу индекс предмета (если он существует в модели) с помощью QAbstractListModel.match ().
QModelIndex childIndex = m_DataSourceModel.match(m_DataSourceModel.index(0,0),Qt::UserRole,QVariant::fromValue(messageID),1,Qt::MatchRecursive)[0];
Когда элемент не найден, возникает эта ошибка:
ASSERT failure in QList<T>::operator[]: "index out of range", file C:/Qt/5.10.0/mingw53_32/include/QtCore/qlist.h, line 549
В руководстве сказано: «Возвращаемый список может быть пустым». и после этого QModelIndex должен быть проверен с помощью QModelIndex.isValid ()
Так почему же происходит сбой программы, когда ничто не совпадает, прежде чем я могу проверить индекс?