PyQt5 Treeview bestimmten Dateityp anzeigen

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
niederrheiner
User
Beiträge: 30
Registriert: Montag 7. Januar 2013, 11:52

Hallo an Alle,
ich möchte mir in einem Verzeichnis nur Dateien eines bestimmten Dateityps anzeigen lassen. Die Darstellung soll in einem Treeview erfolgen. Bisher werden mir aber alle Files des ausgewählten Ordners angezeigt.
Mein bisheriger Ansatz mit PyQt5:

Code: Alles auswählen

...
        self.pathRoot = QtCore.QDir.rootPath()
        self.model = QFileSystemModel()
        self.model.setRootPath(self.pathRoot)
        self.model.setFilter(QDir.NoDotAndDotDot | QDir.AllDirs | QDir.Files)
        self.indexRoot = self.model.index(self.model.rootPath())
        self.trvFilmeNeu.setModel(self.model)
        self.trvFilmeNeu.setRootIndex(self.model.setRootPath(filmliste_neu))
                            ...
Mir ist klar, das ich einen Dateifiltersetzen muss. Nur ist mir nicht klar wie.

Kann mir jemand von Euch mir auf die Sprünge helfen?

Danke für Eure Hilfe und Tipps.

Bis dann ...
MfG
Günter
BlackJack

@niederrheiner: Gibt's in Qt5 `setNameFilters()` nicht mehr auf `QFileSystemModel`\s‽
niederrheiner
User
Beiträge: 30
Registriert: Montag 7. Januar 2013, 11:52

Danke für Deine Antwort,
BlackJack hat geschrieben:@niederrheiner: Gibt's in Qt5 `setNameFilters()` nicht mehr auf `QFileSystemModel`\s‽
habe mit dem Stichwort geg**** und bin fündig geworden. Ich habe folgende Codzeilen hinzugefügt und nun klappt es auch wie gewünscht.

Code: Alles auswählen

...
        self.model.setNameFilters(['*.mp4'])
        self.model.setNameFilterDisables(0)
                             ...
Bis dann ...
MfG
Günter

P.S.
wie makiere ich den Beitrag als gelöst? Muss ich nur "Solved" im Betreff eintragen?
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

niederrheiner hat geschrieben:wie makiere ich den Beitrag als gelöst? Muss ich nur "Solved" im Betreff eintragen?
Bitte weder noch.
Antworten