Bonjour,
je suis actuellement entrain de coder ma propre fenêtre de sélection de fichier a la manière d'un QFileDialog.
Mon problème provient de la mise en place des filtres.
Je vous explique. J'ai réussi a mettre en place un filtre pour par exemple n'afficher que les fichier JPG, cependant je souhaiterais que mon filtre permettent également de voir les dossier et pour ça je n'ai pas trouvé quel filtre mettre.
Pour information pour la suite je développe sous QtCreator avec Qt5.3+msvc 2013
donc voici comment est configuré de base mon QFileSystemModel:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 fileModel = new QFileSystemModel(this); #if _WIN32 QString mPath = "C:/"; #elif __linux__ QString mPath = "/"; #endif // Set filter fileModel->setFilter(QDir::NoDotAndDotDot | QDir::Files | QDir::Dirs); // QFileSystemModel requires root path fileModel->setRootPath(mPath); // Attach the file model to the view ui->listView_Fichier->setModel(fileModel);
et voici comment je met en place mes filtres :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 void DialogFile::setNamesFilter(QStringList filter) { fileModel->setNameFilters(filter); fileModel->setNameFilterDisables(false); }
et donc quand j'appelle ma fenêtre je fais :
Or quand je me déplace dans mon arborescence ma qlistview ne m'affiche que les fichier JPG et pas les dossiers sur lesquelles je voudrais pouvoir double cliquer pour changer de répertoire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 DialogFile dial; dial.setCaption("Fichier lwo a ouvrir"); dial.setNamesFilter(QStringList() << "*.jpg << *.JPG"); dial.exec();
Comment faire en sorte que mon filtre laisse passer les répertoires également?
Merci d'avance
Partager