所以我有一个树视图,如下所示;
#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。