![](/img/trans.png)
[英]QAbstractItemModel - Should QModelIndex objects be cached when created?
[英]What should overloaded QAbstractItemModel::flags return for non valid QModelIndex?
我正在閱讀模型/視圖架構的 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
可能更合乎邏輯
你需要的是Qt::NoItemFlags
: https Qt::NoItemFlags
。
它是標志枚舉的默認值(因為它是枚舉中的第一項)。 你也可以把它寫成return {};
,它會給你相同的Qt::NoItemFlags
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.