如何在QTreeView中获取当前所选项的绝对路径

时间:2013-07-25 18:18:15

标签: c++ qt views qtreeview

我有一个简单的QTreeView,其QFileSystemModel指向根目录:

#include "mainwindow.h"
#include <QApplication>
#include <QFileSystemModel>
#include <QtGui/QApplication>
#include <QtGui>
#include <QTreeView>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QFileSystemModel *model = new QFileSystemModel;
    QString dir("/");
    model->setRootPath(dir);
    QTreeView *tree = new QTreeView();
    tree->setModel(model);
    tree->setRootIndex(model->index((dir)));
    tree->show();
    return a.exec();
}

显示如下内容: enter image description here

我上面选择的项目是/usr/lib/clang。如何获取当前所选项目的绝对路径?

2 个答案:

答案 0 :(得分:5)

使用view->selectionModel()->selectedIndexes()获取所选索引,使用fileSystemModel->filePath()获取这些索引的路径。

答案 1 :(得分:0)

on_tree_clicked(const QModelIndex &index)
{
    model->filePath(index)
}