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.
但是不知道现在该怎么做,我想获取每个文件的名称和完整路径。举个例子真是太棒了。谢谢你!
1 个解决方案
#1
8
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
希望这有助于,问候
#1
8
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
希望这有助于,问候