8

我将 QTreeView 与 QDirModel 一起使用,如下所示:

QDirModel * model = new QDirModel;
ui->treeView->setModel(model);
ui->treeView->setSelectionMode(QTreeView::ExtendedSelection);
ui->treeView->setSelectionBehavior(QTreeView::SelectRows);

这很好用,但是,我不确定如何获取有关我选择的文件的详细信息。到目前为止我有这个:

QModelIndexList list = ui->treeView->selectionModel()->selectedIndexes();

但不知道现在该做什么,我想获取每个文件的名称和完整路径。一个例子真的很棒。谢谢你。

4

1 回答 1

8

您可以使用QDirModel 的fileInfo方法来获取给定模型索引对象的文件详细信息,如下所示:

QModelIndexList list = ui->treeView->selectionModel()->selectedIndexes();
QDirModel* model = (QDirModel*)ui->treeView->model();
int row = -1;
foreach (QModelIndex index, list)
{
    if (index.row()!=row && index.column()==0)
    {
        QFileInfo fileInfo = model->fileInfo(index);
        qDebug() << fileInfo.fileName() << '\n';
        row = index.row();
    }
}

希望这会有所帮助,问候

于 2009-12-28T14:24:49.333 回答