2016-07-02 4 views
0

Ich möchte den Pfad eines Verzeichnisses von QStandardItemModel mit einem QModelIndex abrufen. Ist es möglich? Ich habe gesehen, dass ich QString QFileSystemModel::filePath (const QModelIndex & index) const verwenden kann. Aber es stürzt ab, wenn ich diesen Code ausführen:Wie bekomme ich einen Pfad von einem QStandardItemModel mit einem QModelIndex?

QString _path = qobject_cast<QFileSystemModel*>(model)->filePath(modelIndex); 

Auch stürzt, wenn ich eine Instanz eines QFileSystemModel erstellen und übergeben ein QModelIndex:

QFileSystemModel* fileSystem = new QFileSystemModel(); 
QString myPath = fileSystem->filePath(modelIndex); 
+0

Ich verstehe nicht, was hat QStandardItemModel mit dem Problem zu tun? – peppe

+0

Wenn Sie versuchen, ein 'QStandardItemModel' in ein' QFileSystemModel' zu übertragen, sollte dies nicht funktionieren. – maxik

+0

@peppe mein 'Modell' hat Typ von' QStandardItemModel'. – Mikhail

Antwort

1

Wie in der Dokumentation angegeben

QFileSystemModel ruft keine Dateien oder Verzeichnisse ab, bis setRootPath() aufgerufen wird.

Ich empfehle dringend, dies zu tun.

Wenn weitere Fragen auftreten, überprüfen Sie the documentation.

+0

Danke! Dein Rat ist ziemlich klar. Aber ich habe es anders gemacht. Ich habe dem 'Modell' eine Spalte hinzugefügt, die einen Dateipfad speichert. – Mikhail

+0

@Mikhail Dann empfehle ich, mehr Code zu zeigen. ;) – maxik

Verwandte Themen