Capturar el Path al hacer Click en un QTreeView
Saludos, le agradecería a quien me pueda guiar con la siguiente situación. Tengo un objeto QTreeView donde cargo mi directorio principal. Necesito capturar el path en el momento en que hago click. He leído por días varios foros, y toda la documentación, y comprendo que debo hacerlo con un QModelIndex. El problema es que por más que trato y cambio código no logro comprender en que fallo.
Uso el siguiente código para realizar la conexión
// En este evento realizo la conexión connect(ui->trvDirectorio,SIGNAL(clicked (QModelIndex)),this,SLOT(filaclicked(QModelIndex))); //Así cargo el QTreeView: ui->trvDirectorio->setModel(modelodirectorio); modelodirectorio->setSorting(QDir::DirsFirst | QDir::IgnoreCase | QDir::Name); ui->trvDirectorio->setRootIndex(modelodirectorio->index("/home/")); //Y aquí trato de abrir la función filaclicked que me obtiene el path: <code> void frmPrincipal::filaclicked (QModelIndex indice) {} El problema es que no comprendo lo que debo poner dentro de esta clase. Gracias de antemano.


filePath
porque no pruebas con la funcion QString QDirModel::filePath (const QModelIndex & index )
Segun la documentacion esto te devolveria el path del indice que tu le pasa como parametro.
Te quedaria algo asi:
Espero que te sirva.
Saludos.
Hice lo siguiente
Hice lo siguiente:
A mi tambien
Hice una pequeña aplicacion para probar y funciono sin ploblemas
Te paso el codigo, a lo mejor te sirve:
Archivo .h
El .cpp (version reducida, sin el destructor)
Espero que encuentres tu problema
Saludos
Excelente GRACIAS
Excelente, mil gracias, funciona a la perfección, tenía un par de errores a la hora de declarar los punteros, y la definición de las variables en el Header, pienso ser fiel seguidor de este foro, estoy comenzando en el mundo del QT y tengo muchas dudas pero poco a poco las voy resolviendo. De verdad MUCHAS GRACIAS.
A mí me funciona
He copiado el código que has presentado, y a mí me funciona y me devuelve el path de los archivos sobre los que hago click. Revisa el resto de tu código, porque quizás no hayas llamado a la función que conecta el slot filaclicked con la señal del treeView.
¡Un saludo!
Sobre QDirModel :)
Sí, funciona sobre QDirModel, no sobre QTreeView; el código tendría que ser el siguiente:
Que vamos con prisas y no nos fijamos :D
¡Un saludo!
jeje
Perdon, pequeño error de copy paste
Gracias por responder tan rápido
Muchas gracias por responder tan pronto, solo que aún no me funciona. Al hacer el click, el path viene vacío. Alguna idea...