【发布时间】:2022-05-12 06:21:51
【问题描述】:
所以我有一个如下所示的树视图;
#QTreeView widget
#Shows files in set directory
self.treeView = QtWidgets.QTreeView(self.centralWidget)
self.treeView.setSortingEnabled(True)
self.treeView.setObjectName("treeView")
self.horizontalLayout_4.addWidget(self.treeView)
self.file_model=QtWidgets.QFileSystemModel()
self.file_model.setRootPath('C:\My Stuff\Movies')
self.treeView.setModel(self.file_model)
self.treeView.setRootIndex(self.file_model.index('C:\My Stuff\Movies'))
self.treeView.setColumnWidth(0,275)
self.file_model.setNameFilters(self.filterList)
self.file_model.setNameFilterDisables(0)
如您所见,我有一个过滤器可以隐藏未通过过滤器的项目(例如 *.mkv),但是我的目录中有文件夹,其中包含不符合过滤器要求的文件。该文件夹保留在我的树视图中,即使它是空的,我如何删除这些空文件夹(请记住,当我应用允许显示文件夹中文件的过滤器时,我需要能够显示这些文件夹。
我正在运行 PyQt5、Python 3.5、Windows 7。
【问题讨论】:
标签: python pyqt treeview qfilesystemmodel