简体   繁体   English

如何使用QTreeView获取有关所选项目的详细信息?

[英]How to get details about the selected items using QTreeView?

I'm using QTreeView with QDirModel like this: 我正在使用QTreeView和QDirModel这样:

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

This works fine, however, I'm not sure how to get the details about the files I select. 这工作正常,但是,我不知道如何获取有关我选择的文件的详细信息。 I've got this so far: 到目前为止我有这个:

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

But not sure what to do now, I'd like to get each file's name and full path. 但不知道现在要做什么,我想得到每个文件的名称和完整路径。 An example would be really great. 一个例子真的很棒。 Thank you. 谢谢。

you can use fileInfo method of the QDirModel to get file details for the given model index object, smth like this: 您可以使用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();
    }
}

hope this helps, regards 希望这有帮助,问候

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM