我尝试从QFileSystemModel
派生模型,向CheckBox
中显示的委托添加了TreeView
,并希望在Qt :: CheckStateRole中保存复选框的状态。然而,
为什么无法在Qt::CheckStateRole
中使用QFileSystemModel
?我将CheckStateRole添加到我的派生模型中:
QHash<int,QByteArray> roleNames() const Q_DECL_OVERRIDE
{
QHash<int, QByteArray> result = QFileSystemModel::roleNames();
result.insert(UrlStringRole, QByteArrayLiteral("urlstring"));
result.insert(SizeRole, QByteArrayLiteral("size"));
result.insert(LastModifiedRole, QByteArrayLiteral("lastModified"));
result.insert(IsDirRole, QByteArrayLiteral("isDir"));
result.insert(Qt::CheckStateRole,QByteArrayLiteral("checkState"));
return result;
}
但在qml中我做
console.log('checkstaterole',model.checkState)
在我的qml委托中,它表示&#39; checkstaterole undefined&#39;。
为什么不能在QFileSystemModel中使用CheckStateRole?我认为从QAbstractItemModel派生的每个模型都有这个角色。