我正在使用 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.isValid() 检查 QModelIndex
那么为什么在我检查索引之前没有任何匹配项时程序会崩溃?