Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get details about the selected items using QTreeView?

Tags:

c++

qt

qtreeview

I'm using QTreeView with QDirModel like this:

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.

like image 802
Keiji Avatar asked Dec 28 '09 13:12

Keiji


1 Answers

you can use fileInfo method of the QDirModel to get file details for the given model index object, smth like this:

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

like image 75
serge_gubenko Avatar answered Sep 16 '22 21:09

serge_gubenko