Como obter detalhes sobre os itens selecionados usando o QtreeView?
Pergunta
Estou usando o QtreeView com Qdirmodel como este:
QDirModel * model = new QDirModel;
ui->treeView->setModel(model);
ui->treeView->setSelectionMode(QTreeView::ExtendedSelection);
ui->treeView->setSelectionBehavior(QTreeView::SelectRows);
Isso funciona bem, no entanto, não tenho certeza de como obter os detalhes sobre os arquivos que selecionar. Eu tenho isso até agora:
QModelIndexList list = ui->treeView->selectionModel()->selectedIndexes();
Mas não tenho certeza do que fazer agora, eu gostaria de obter o nome de cada arquivo e o caminho completo. Um exemplo seria realmente ótimo. Obrigada.
Solução
você pode usar informações do arquivo Método do Qdirmodel para obter detalhes do arquivo para o objeto de índice de modelo especificado, smth como este:
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();
}
}
Espero que isso ajude, considerando
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow