Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用QFileSystemModel和QTreeView仅显示文件?_Python_Pyside_Qtreeview_Qfilesystemmodel - Fatal编程技术网

Python 如何使用QFileSystemModel和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

我尝试过几次只显示文件夹和子文件夹中的文件名,但到目前为止没有成功。下面是我的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和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文件填充其中。我将很快上传答案。谢谢