Python 如何使用QFileSystemModel和QTreeView仅显示文件?
我尝试过几次只显示文件夹和子文件夹中的文件名,但到目前为止没有成功。下面是我的QTreeview的基本情况 在这里,文件夹结构类似于:-Python 如何使用QFileSystemModel和QTreeView仅显示文件?,python,pyside,qtreeview,qfilesystemmodel,Python,Pyside,Qtreeview,Qfilesystemmodel,我尝试过几次只显示文件夹和子文件夹中的文件名,但到目前为止没有成功。下面是我的QTreeview的基本情况 在这里,文件夹结构类似于:- SV A_XML_Folder A_XML_Folder.xml B_XML_Folder B_XML_Folder.xml SI A_Python_Folder A_Python_Folder.py B_Python_Folder B_Python_Folder.py 到目前为止还不错,但现在我只想得到python
SV
A_XML_Folder
A_XML_Folder.xml
B_XML_Folder
B_XML_Folder.xml
SI
A_Python_Folder
A_Python_Folder.py
B_Python_Folder
B_Python_Folder.py
到目前为止还不错,但现在我只想得到python和xml文件列表,比如
A_XML_Folder.xml
B_XML_Folder.xml
A_Python_Folder.py
B_Python_Folder.py
我的代码是:
self.mymodel.setFilter(QDir.AllDirs | QDir.NoDotAndDotDot | QDir.AllEntries) #QDir.AllDirs |
self.mymodel.setNameFilters(["*.py","*.xml"])
self.mymodel.setNameFilterDisables(False)
self.mymodel.setRootPath(QDir.currentPath()+'/Database')
self.ui.treeView.setModel(self.mymodel)
self.ui.treeView.setRootIndex(self.mymodel.index(QDir.currentPath()+'/Database'))
self.ui.treeView.setSortingEnabled(True)
self.ui.treeView.hideColumn(1)
self.ui.treeView.hideColumn(2)
self.ui.treeView.hideColumn(3)
self.ui.treeView.setSelectionMode(QtGui.QAbstractItemView.SingleSelection)
self.ui.treeView.setAnimated(True)
我尝试了所有permo combo,但到目前为止运气不佳。如果我理解正确,是否有其他优雅的方法解决此问题您需要一个搜索目录树中所有文件并将其显示为列表的模型。我不认为
QFileSystemModel
提供了这种功能。我建议您通过子类化QAbstractListModel
来实现您自己的模型。是的,titisjan,我也这样做了,现在我将QListView与QStandardItemModel一起使用,并使用os.walk将所有xml和py文件填充其中。我将很快上传答案。谢谢