Bonjour,
J'aimerais pouvoir afficher dans une vue, une liste de fichiers que je récupère dans une base de données (ou pour faire plus simple, dans une liste). J'ai donc créé une nouvelle class qui hérite de QFileSystemModel, mais j'avoue ne pas trop savoir quelles méthodes je dois réimplémenter. Si j'ai bien tout compris, c'est surtout la méthode data() qui s'occupe d'envoyer à la vue les éléments à afficher. Ainsi, j'ai overridé la méthode data de la manière suivante:
C'est bien entendu du pseudo-code.
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 data(modelIndex, role=Qt.DisplayRole) { if !modelIndex.isValid() { return QVariant() } if modelIndex.row() >= files_list.size() { return QVariant() } if role == Qt.DisplayRole { return files_list.get(modelIndex.row()) } else { return QVariant() } }
Ma liste files_list contient des strings mais ils ne s'affichent pas dans la vue. J'ai bien tenté avec une liste de QFileInfo, mais c'est pareil, rien ne s'affiche.
Est-ce que je m'y prends mal ? Comment devrais-je faire exactement pour afficher dans une vue, un certain nombre de fichiers/dossiers prédéfinis dans une liste ? Idéalement j'aimerais faire un truc du genre :
Je vous remercie d'avance!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 List listOfFilesToPutInTheView listOfFilesToPutInTheView << "fichier1" << "dossier1" << "fichier2" << "dossier2" MyFileSystemModel model = new MyFileSystemModel(listOfFilesToPutInTheView) myview.setModel(model)
Partager