我想使用QModelIndex从QStandardItemModel获取目录的路径。可能吗?我看到可以使用QString QFileSystemModel::filePath ( const QModelIndex & index ) const。但是当我运行以下代码时,它崩溃了:

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


如果我创建QFileSystemModel的实例并传递QModelIndex,也会崩溃:

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

最佳答案

如文档中所述


  QFileSystemModel在调用setRootPath()之前不会获取任何文件或目录。


我强烈建议您这样做。

如果还有其他问题,请确保签出the documentation

09-04 18:12