1

我寻找了这个答案,但在这里找不到任何东西,所以我问它。

使用命令功能QStandardModel从 获取项目是相当直接的。QModelIndexitemFromIndex

model = openedIndex.model()
item = model.itemFromIndex(openedIndex)

我有兴趣做基本相同的事情,但是对于我来说QFileSystemModel,是否有一种简单或直接的方式来做到这一点。在文档中看不到任何内容。

4

1 回答 1

2

QFileSystemModel没有任何项目类别。它不会为每个项目创建一个对象。

您可能会发现有用的方法QFileSystemModel::filePathQFileSystemModel::index它们允许将索引转换为路径,反之亦然。索引和路径都可以用作唯一的项目标识符。

QFileSystemModel无法直接禁用其中的某些项目。您需要创建一个代理模型类,它将返回与源模型几乎相同的数据和标志,但Qt::ItemIsEnabled在需要时删除标志。

于 2014-02-11T21:58:13.597 回答