Я читаю документацию QT по архитектуре модель / представление https://doc.qt.io/qt-5/model-view-programming.html#making-the-model-editable и просмотрите пример перегрузки метода QAbstractItemModel :: flags, который возвращает Qt::ItemIsEnabled
для недопустимого индекса:
Qt::ItemFlags StringListModel::flags(const QModelIndex &index) const
{
if (!index.isValid())
return Qt::ItemIsEnabled;
return QAbstractItemModel::flags(index) | Qt::ItemIsEditable;
}
Итак, если индекс недействителен, т.е. может иметь отрицательную строку, мы все равно считаем, что пользователь может с ним взаимодействовать. Есть ли смысл в такой логике? Для меня возврат Qt::NoItemFlags
в этом случае мог бы быть более логичным
if (!index.isValid()) return {};
- person Kuba hasn't forgotten Monica   schedule 31.03.2019