Ich habe folgende Ordner im Laufwerk C:
-a
--file.pdf
--mov.mp4
--c
---text.txt
-b
--bla.rs
Nun übergebe ich dem Model als RootPath den Pfad zu a und mir wird dann Folgendes im QTreeView angezeigt:
-file.pdf
-mov.mp4
-c
--text.txt
Ich möchte allerdings gerne folgende Struktur haben:
-a
--file.pdf
--mov.mp4
--c
---text.txt
Ich habe es bereits mit Filtern versucht, indem ich eine Ebene höher gehe und einen nameFilter einsetze, der alles weg filtert was nicht meinem Ordner entspricht. Allerdings müssen ja auch die files, die in diesem Ordner sind, dem Filter hinzugefügt werden und wenn mal ein neues File oder ein Ordner dazukommen, müssen diese im Nachhinein auch noch dem Filter hinzugefügt werden oder? Außerdem wird mir bei meinem jetzigen Stand mit den Filtern einfach garnix mehr angezeigt. Ich habe schon gefühlte Stunden versucht irgendeinen anderen Weg aus der Doku zu ziehen, aber bisher ohne Erfolg. Ich hänge mal noch meinen derzeitigen Code hinzu:
Code: Alles auswählen
@QtCore.Slot()
def onOpenFolderClicked(self):
folder = QtGui.QFileDialog.getExistingDirectory(self, 'Open Folder...',
QtGui.QDesktopServices.storageLocation(
QtGui.QDesktopServices.HomeLocation))
currentDir = [folder]
path = self.folderView.model.setRootPath(folder.rsplit("\\", 1)[0])
self.folderView.setRootIndex(path)
self.folderView.model.setFilter(QtCore.QDir.Files | QtCore.QDir.Dirs)
self.folderView.model.setNameFilters(currentDir)
self.folderView.model.setNameFilterDisables(False)