Bonjour,
Toujours en pleine découverte de C++ et de Qt, j'essaie d'afficher une liste actualisée cochable de répertoires dont les chemins sont entrés dans une QLineEdit.
Mais rien ne s'affiche depuis que j'ai modifié la fonction actualiserAfficheRep() décrite ci-dessous, qui fonctionnait très bien avec une QStringList que j'envoyais dans un QStringListModel, mais sans possibilité de cocher les items...
J'ai comme variables :
- m_lineEditChoixRep : la QLineEdit recevant le chemin du dossier à ajouter à la liste
- m_listeRepModele : le modèle de type QStandardItemModel contenant les données de la liste des dossiers
- m_listViewRep : de type QListView, absent de cette fonction, lié au modèle m_listeRepModele
voici le code de la fonction sensée mettre à jour la liste des dossiers, cette fonction appartenant à ma classe mainWindow contenant l'intégralité du code de la fenêtre affichée :
Merci d'avance pour vos commentaires sur ce qui ne va pas dans ce code et les pistes de solution pour y arriver.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 void MainWindow::actualiserAfficheRep() { QString pathTexte(m_lineEditChoixRep.text()); QDir path; // vérifie l'existence du dossier et son absence dans la liste des dossiers if ( path.exists(pathTexte) && QList<QStandardItem*>(m_listeRepModele.findItems(pathTexte)).isEmpty() ) { // ajout à la liste en 1ère position et affichage auto dans m_listViewRep QStandardItem item(pathTexte); item.setCheckable(true); m_listeRepModele.insertRow(0,&item); } }
Partager