- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
Deviens membre Premium magic_button
Débloque cette session en devenant Membre Premium 🚀
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte person00:00:00 :Dans cette partie, on va donc s'attaquer au clic sur le ListView.Dans ma méthode SetupConnections, je vais connecter sur mon ListView le signal CLICKEDet on va le connecter à une méthode que l'on va appeler ListViewClicked,comme on l'a fait pour TreeView, sauf que cette fois-ci, on l'appelle ListViewClicked.
00:00:17 :On va la créer ici, tout en bas, et on va également récupérer dans cette méthode l'index.C'est l'index de l'item sur lequel on est en train de cliquer.
00:00:25 :Donc pour l'instant, si je fais juste un print de index,vous allez voir qu'on va se retrouver avec, comme dans le cas du TreeView, un QModelIndex.
00:00:32 :Donc vous voyez ici QModelIndex.Et ce QModelIndex, on va pouvoir s'en servir pour changer la sélection, cette fois-ci, de notre TreeView.Puisque là, dans ce cas-ci, on ne veut pas afficher dans notre TreeView le contenu de notre dossier User.
00:00:45 :On veut laisser notre TreeView comme il est actuellement.Mais par contre, on aimerait bien le sélectionner pour avoir une synchronisation entre les deux.C'est-à-dire que quand je sélectionne quelque chose dans mon ListView ici,la sélection se fait également dans le TreeView pour que je puisse m'y retrouver.
00:00:58 :Donc pour ça, on va aller chercher ce qu'on appelle le SelectionModel, cette fois-ci, de notre TreeWidget.Donc ça, on va y accéder avec notre attribut TreeView ici, qui correspond à notre TreeView.
00:01:09 :Et on va aller chercher le SelectionModel, cette fois-ci,qui va nous permettre de récupérer ce SelectionModel,et on va pouvoir changer à lui aussi son index.
00:01:18 :Donc on va dire SetCurrentIndex, et on va lui passer tout simplement l'index qui est récupéré par le paramètre ici.Il va falloir lui donner également un deuxième argument,qui va être en fait une constante qui va nous permettre de définir le mode de sélection.
00:01:31 :Puisque par défaut, si on ne met rien, on aura une erreur.Et si on met d'autres modes de sélection, on pourra avoir des modes de sélection qui vont être, par exemple, cumulatifs.
00:01:39 :C'est-à-dire qu'à chaque fois qu'on clique sur quelque chose,il ne va pas désélectionner les éléments qui étaient déjà sélectionnés au préalable,et donc on va avoir une accumulation comme ça d'éléments sélectionnés.
00:01:48 :Nous, ce qu'on veut, c'est qu'à chaque fois qu'on clique sur quelque chose,ça désélectionne tout ce qui était sélectionné,et ça ne nous sélectionne que l'élément qui est sélectionné dans le ListView.
00:01:56 :Donc pour ça, on va aller chercher dans QtCore, le QItemSelectionModel,et on va aller chercher la constante ClearAndSelect.Puisqu'on ne veut pas juste faire un Clear, on veut faire un Clear,et ensuite sélectionner ce qui est spécifié ici dans le QModelIndex.
00:02:12 :Donc ça fait une longue ligne de code, on pourrait la séparer un petit peu si on voulait,pour avoir déjà le SelectionModel et ensuite faire un SetCurrentIndex.
00:02:19 :sur ce SelectionModel, donc par exemple comme ceci,si on voulait que ce soit un petit peu plus clair.Voilà, donc là on a deux lignes, et c'est peut-être un peu plus clair,et ça fait moins de longueur dans notre deuxième ligne ici,puisque cette constante prend quand même pas mal de place.
00:02:35 :Donc on va tester ça, on lance notre script,si je sélectionne quelque chose ici, vous voyez qu'automatiquement maintenant,notre SelectionModel change, et on a la sélection qui se fait sur notre TreeView.
00:02:46 :Donc si je vais à l'intérieur ici, je clique sur mon TreeView,donc sur le dossier User, et si je clique sur un dossier ici dans mon ListView,automatiquement il va se retrouver sélectionné dans le TreeView.
00:02:57 :Donc c'est tout bon pour le ListViewClicked, ça fonctionne,et maintenant on va faire le double clic sur le ListView,puisque pour l'instant si on double clique sur un dossier ici, il ne se passe rien,et moi j'aimerais bien faire en sorte que quand on double clique sur un dossier dans le ListView,
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.