Ich habe ein Programm, das beim Klicken auf ein Element in einem QTreeView Details über das Element zeigt und mit einem Klick auf eine Schaltfläche können Sie die Datei öffnen, wenn keine Datei vorhanden ist ausgewählt das Programm schließt sich. Ich habe versucht setCurrentIndex()
, aber ich bin mir nicht sicher, ob ich es direkt an dem einzigen Beispiel verwende, das ich finden kann, sind PyQt4 oder C++.Wie man den Index von QTreeView automatisch als erstes Element im Baum einstellt
Ich runnng PyQt5 Fenster 7.
self.treeView = QtWidgets.QTreeView(self.centralWidget)
self.treeView.setSortingEnabled(True)
self.treeView.setObjectName("treeView")
self.horizontalLayout_4.addWidget(self.treeView)
self.file_model=QtWidgets.QFileSystemModel()
self.file_model.setRootPath('C:\My Stuff\Movies')
self.treeView.setModel(self.file_model)
self.treeView.setRootIndex(self.file_model.index('C:\My Stuff\Movies'))
self.treeView.setHeaderHidden(True)
self.treeView.hideColumn(1)
self.treeView.hideColumn(2)
self.treeView.hideColumn(3)
self.treeView.setCurrentIndex(self.file_model.index(0,0))
Alternativ würde ich es vorziehen, wenn ein QMessagebox
erscheinen etwa keine Datei ausgewählt ist, ich habe das Meldungsfeld gemacht und es funktioniert aber ich kann es nicht bekommen um anzuzeigen, wenn in der Baumansicht keine Datei ausgewählt ist, während das Programm abstürzt, bevor die Fehlermeldung angezeigt wird.