gpt4 book ai didi

python - 如何在 PySide 的 QTreeView 中隐藏 QFileSystemModel 中的项目?

转载 作者:太空宇宙 更新时间:2023-11-04 07:33:53 25 4
gpt4 key购买 nike

我不知道如何从 QFileSystemModel 中隐藏一个项目或一行?使用 removeRows 后没有任何反应。我也试过了

    self.model.beginRemoveRows(QtCore.QAbstractItemModel.index(), 0, 10)
self.model.endRemoveRows()

没有结果。我该怎么做?

最佳答案

QFileSystemModel 不遵循删除项的常规函数​​,我猜是因为它具有潜在的破坏性。

您需要为每个调用 self.model.remove(index)。这将永久删除文件。如果恰好是一个文件夹,您还需要调用 self.model.rmdir(index)

http://doc.qt.io/qt-4.8/qfilesystemmodel.html#remove

如果您只是想隐藏行,那么您可以添加一个过滤器列表,例如["*.cpp", "*.h"] 通过 QFileSystem.setNameFilters ,它使用 QDir::setNameFIlters .

如果您正在做更专业的事情,那么您可以使用QSortFilterProxy。要么直接将它与 QRegExp 一起使用,要么子类化并实现 filterAcceptsRow()

关于python - 如何在 PySide 的 QTreeView 中隐藏 QFileSystemModel 中的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40892796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com