ich will dass wenn ich in meiner QTreeView ein Index erweiter er mit alle Dateien ausgibt die kein Ordner ist. Das funktioniert auch nur leider immer erst beim zweiten Mal.
z.B.
- Verzeichnis
+Verzeichnis 2
Datei1
Datei2
Wenn ich auf das Verzeichnis "Verzeichnis" drücke soll er mir die Dateien 1 + 2 ausgeben. Drücke ich das erste mal drauf passiert nichts. Wiederhole ich den Vorgang gibt er mir die beiden Dateien richtig aus.
An was kann das liegen?
Code: Alles auswählen
from PyQt4 import QtGui
from PyQt4 import QtCore
class MainWindow(QtGui.QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.resize(600,400)
self.treeview = QtGui.QTreeView(self)
self.treeview.model = QtGui.QFileSystemModel()
self.treeview.model.setRootPath( QtCore.QDir.currentPath() )
self.treeview.setModel(self.treeview.model)
self.treeview.setColumnWidth(0, 200)
self.setCentralWidget(self.treeview)
self.treeview.expanded.connect(self.on_treeview_expanded)
def on_treeview_expanded(self, index):
for i in xrange(self.treeview.model.rowCount(index)):
indexItem = self.treeview.model.index(i,0, index)
if not self.treeview.model.isDir(indexItem):
fileName = self.treeview.model.fileName(indexItem)
print fileName
if __name__ == '__main__':
import sys
app = QtGui.QApplication(sys.argv)
w = MainWindow()
w.show()
sys.exit(app.exec_())