在PySide中使用QFileSystemModel,从索引中获取项目

时间:2014-02-11 21:25:21

标签: qt pyside qtreeview qfilesystemmodel qmodelindex

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

使用QStandardModel,使用命令函数QModelIndexitemFromIndex获取项目非常简单。

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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