我正在阅读模型/视图架构https://doc.qt.io/qt-5/model-view-programming.html#making-the-model-editable的QT文档,并且看到了一个重载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
可能更符合逻辑
发布于 2019-04-01 02:09:58
您需要的是Qt::NoItemFlags
:https://doc.qt.io/Qt-5/qt.html#ItemFlag-enum。
它是标志枚举的默认值(因为它是枚举中的第一项)。您也可以将其编写为return {};
,它将为您提供相同的Qt::NoItemFlags
。
https://stackoverflow.com/questions/55440174
复制相似问题