我正在使用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();
但不知道现在要做什么,我想得到每个文件的名称和完整路径。一个例子真的很棒。谢谢。
答案 0 :(得分: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();
}
}
希望这有帮助,尊重