如何解决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 举报,一经查实,本站将立刻删除。