如何在 QFileSystemModel 的 QTreeView 中最好地显示 .zip 的内容

问题描述

在我当前的程序中,我有一个从 QFileSystem 建模的 QTreeView,如下所示:

    self.model= QFileSystemModel()
    self.model.setRootPath('')
    self.model.setFilter(QDir.Dirs | QDir.NodotAndDotDot | QDir.Files)
    self.model.setNameFilters(["*.txt","*.png","*.zip","*.csv","*.json","*.xml"])
    self.model.setNameFilterdisables(False)
    self.tree= QTreeView()

显示了目录的内容,并且显示了所有的 zip。

我还使用 zipfile 来查找上述目录中所有 zip 的内容,如下所示:

    os.chdir(current_directory)
    for file in glob.glob("*.zip"):
        zip = zipfile.ZipFile(file)
        dict= {file: zip.namelist()}
        self.dict_of_zips.update(dict)

我想在树视图中为每个 zip 文件创建子项,并让每个子项成为 zip 文件夹的内容,以便在查看器中显示 zip 中的所有项目。

我很挣扎,因为 QFileSystemModel 似乎并不意味着要添加孩子等等。

这是创建我自己的树视图并自己填充它的唯一方法吗?有没有办法将图标和过滤器转移到这样的模型中?

解决方法

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

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

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