Python:QTreeView按文件名扩展名过滤,但仅显示父文件夹

问题描述

我想创建一个仅显示具有特定文件扩展名(例如* .jpg)的文件夹的树状视图。到目前为止,我得到的代码工作正常,但是我不想看到包含文件的文件夹-相反,我只想看到它的父文件夹。

tia, 丹尼尔

示例:

Folder1 \ Subfolder1 \ file.jpg

Folder2 \ Subfolder1 \ Subfolder2 \ file.jpg

结果:

文件夹1 \子文件夹1 \

文件夹2 \子文件夹1 \子文件夹2 \

目标:

文件夹1

Folder2 \ Subfolder1 \

代码:

class TreeView(QTreeView):
    def __init__(self,type,*args,**kwargs):
        QTreeView.__init__(self)
        
        model = QFileSystemModel()
        model.setRootPath(QDir.rootPath())
        model.setFilter(QtCore.QDir.AllDirs|QtCore.QDir.NoDotAndDotDot)
        model.setNameFilterDisables(0)
        model.setNameFilters(['*.jpg'])
        
        
        self.setModel(model)
        self.setRootIndex(model.index(type))
        self.clicked.connect(self.test)

        for e in [1,2,3,4]:
            self.hideColumn(e)
        
        self.setHeaderHidden(1)
        self.setRootIsDecorated(0)
        self.setExpandsOnDoubleClick(1)

    def test(self,signal):
        file_path = self.model().filePath(signal)
        print(file_path)


type = os.path.normpath('C:\\')
w = TreeView(type)
w.show()

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...