如何使用QFileSystemModel和QTreeView只显示文件?

2024-10-01 11:20:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我很少尝试只显示文件夹和子文件夹中的文件名,但到目前为止还没有成功。下面是我的QTreeview的基本情况

enter image description here

这里,文件夹结构如下:

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文件的列表,比如

^{pr2}$

我的代码是:

        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)

我试过所有的烫发组合,但到目前为止还没有运气,有没有其他优雅的方法来解决这个问题


Tags: pyself文件夹trueuixmlfolderdatabase