所以我的树视图如下所示;
#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)但是我的目录中包含一个文件夹,其中包含的文件不符合过滤器要求。该文件夹仍然在我的树视图中,即使它是空的,我如何删除这些空文件夹(请记住,当我应用允许显示文件夹中的文件的过滤器时,我需要能够显示这些文件夹。< / p>
我正在运行PyQt5,Python 3.5,Windows 7。