- 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 :Alors maintenant qu'on a réussi à changer la couleur d'arrière-plan de notre tâche, on va changer le statut d'une tâche.Donc pour ça on va créer une méthodedirectement à l'intérieur de notre task item qui va permettre d'appeler notre fonction dans l'API qui permet de changer le statut de la tâche.
00:00:14 :Donc cette méthode ici je vais l'appeler toggleStatetout simplement, donc qui veut dire qu'on va changer le statut.Et la première chose qu'on va faire c'est donc changer cette variableself.done. Donc si elle est à true on veut la mettre à false et si elle est à false on veut la mettre à true.
00:00:29 :Donc la façon la plus facile de faire ça c'est d'utiliser not.On va utiliser not et on va dire not self.done puisque not ça permet d'inverser.
00:00:37 :Donc là si done est à true on va dire not true, donc not true c'est false et si c'est à false on va direnot false et not false c'est true. Donc on fait juste en fait inverser l'état de la variable
00:00:48 :qui va nous permettre donc par la suite de changer l'état de la tâche. Donc pour ça on va utiliser notre API donc on vafaire package.api.task et on avait une fonction setTaskStatue
00:00:58 :et le nom de la tâche, donc ça va être name, ça va êtreself.name puisque self.name on l'avait récupéré ici quand on avait créé notre taskItem, on passe le nom de la tâche
00:01:08 :dans la méthode init et on le récupère ici dans l'attribut self.name. Donc on peut le remettre icipour savoir de quelle tâche on veut changer le statut.
00:01:16 :Et ensuite on va avoir done qui va être égal à self.done. Donc si je fais un ctrl b ou pomme bpour me rendre dans cette fonction vous voyez qu'on avaitle nom de la tâche et done qui par défaut était à true mais là dans ce cas-ci on ne veut pas
00:01:28 :laisser la valeur par défaut, on veut indiquer la valeur de self.done puisque on l'aura changé juste avant ici. Donc si notre tâchen'était pas complétée on va changer ça ici pour que ce soit true, pour que ce soit complétéet on va le passer à notre fonction ici pour indiquer qu'on veut changer le statut de la tâche.
00:01:43 :Et ensuite eh bien il ne reste plus qu'à faire un self.setBackgroundColorici donc notre méthode qui va permettre d'inverser la couleur puisque cette fois-ci self.done sera égale à true.
00:01:55 :Donc on va aller chercher la couleur qui correspond à true qui va être donc la couleur verteet on va la changer pour la couleur d'arrière-plan de notre item.
00:02:02 :Donc vous voyez c'est vraiment assez simple au final c'est vraiment juste l'inversion de la variable,on utilise notre API et ensuite on appelle notre méthode qu'on avait créée dans la partie précédente.
00:02:11 :Donc c'est tout ce qu'on avait besoin de faire, la seule chose qui reste à modifiercependant c'est dans setupConnections donc en fait je dis modifier mais c'est plutôt ajouter puisque on vaconnecter le signal qui arrive quand on clique sur un item puisque pour l'instant si je lance mon interface quand je clique
00:02:27 :quelque part ici ça ne change rien. On va en profiter d'ailleurs pour remettre ici voilànotre variable done puisque par défaut j'ai tout mis à true donc par défaut toutes les tâches sont considérées comme complétéesmais là on va passer plutôt le statut de la tâche qu'on récupère à l'intérieur de ce dictionnaire.
00:02:42 :Donc ce que je vais faire c'est que je vais connecter donc depuis mon ListWidgetTask le signal itemClickeddonc qui est le signal qui va être déclenché quand on va cliquer sur un élément dans ma liste et on va le connecterà une méthode que je vais appeler ToggleState et on va créer cette méthode ici ToggleState
00:03:01 :et cette méthode automatiquement donc le signal en fait il va nous envoyer l'élément sur lequel on a cliqué donc il va nous l'envoyerdans un premier paramètre qu'on va appeler LWItem et on va pouvoir appeler donc sur cet itemnotre méthode que l'on a créé ici qui s'appelle également ToggleState donc je copie le nom
00:03:18 :et ici on va faire LWItemToggleState on va appeler cette méthodedonc ici là encore c'est le même nom on pourra mettre autre chose on pourra mettrebas si vous voulez n'importe quoi ça c'est vraiment juste le nom de la méthode qu'on va appeler quand le signal va êtreémis donc quand le signal va être émis on appelle cette méthode
00:03:36 :cette méthode automatiquement elle récupère notre liste widget item et on appelle la méthodeToggleState sur notre liste widget item et cette méthode donc qu'on vient de créer ici elle va nous permettre de changer le statut de latâche et de le répercuter au niveau de l'interfacedonc je vais juste remettre ici le nom que j'avais avant puisque je trouve que c'est plus clair comme ceci avec
00:03:54 :le nom qui signifie quelque chose donc ToggleState et vous allez voir qu'on va pouvoir simplifier ça je vais quand même testerpour voir si ça fonctionne donc là toutes mes tâches sont pour l'instantconsidérées comme non complétées et si je clique sur une tâche vous voyez qu'automatiquementça passe à vert et si je reclique sur les tâches elles redeviennent rouges
00:04:10 :on a un petit problème ici c'est que par défaut la sélectionquand on clique sur un item ça nous met du bleu donc ça on va régler ce problème dans la prochaine partie puisque vous voyezque c'est pas très pratiquetant qu'on a l'item de sélectionner là on sait pas trop s'il est vert ou rouge
00:04:23 :il est pour l'instant bleu parce qu'il est sélectionné donc ça on va le modifierpour qu'on n'ait pas cette confusion qui arrive quand on sélectionne un item mais vous voyez que sinon ça fonctionne on arrive à changerle statut de nos tâcheset là vous allez voir on va pouvoir
00:04:35 :simplifier ça ici puisque au final on fait une méthode qui ne contient qu'une ligne donc c'est un peuc'est un peu stupide on pourrait faire quelque chose de bien plus optimisépour ça on va utiliser ce qu'on appelle les fonctions anonymes donc les fonctions anonymes ça nous permet de créer une fonction
00:04:48 :qui n'a pas de nom donc comme son nom l'indique une fonction anonymeet ça va nous permettre de faire tout ça sur la même ligne donc ce que je vais faire c'estutiliser le mot clé lambda, lambda ça nous permet de créer donc une fonction anonymeet on va pouvoir lui passer un paramètre à cette fonction anonyme donc ça tombe bien puisque
00:05:04 :ici on avait un paramètre listWidgetItem que l'on veut récupérer dans notre fonction pour lancer cette méthode toggleStatedonc le paramètre on va l'appeler pareil on va l'appeler listWidgetItemon va mettre deux points et on va dire ensuite ce que fait la fonction donc la fonction elle va fairelWidgetItem.toggleState donc la même chose que ce qu'on avait ici donc je peux supprimer ces deux lignes ici
00:05:24 :et à la place avoir uniquement cette ligne donc avec ma fonction anonymequi prend un paramètre, le paramètre c'est listWidgetItem donc c'est l'item qui va être récupéré quand on cliquesur notre sur notre listWidget et ça va être l'item sur lequel on a cliqué et ensuite on appelle cette méthode qui va changer
00:05:39 :le state de notre itemdonc je relance tout ça pour voir si ça fonctionne je cliqueon a bien l'info ici qui nous dit que les tâches ont été mises à jour donc ça semble fonctionner et effectivement la couleur changebien donc on a notre tâche qui est mis à jour
00:05:51 :je vais vérifier si quand on relance notre interface on a bien le bonle bon état pour nos tâches donc c'est le cas on avait ces deux premières tâches qui étaient complétées et celles là qui nel'étaient passi je fais l'inverse donc si je clique pour inversertous les statuts et que je relance on a bien les deux premières tâches qui cette fois ci ne sont pas complétées et la dernière
00:06:07 :qui l'est. Donc ça fonctionne on a tout le tout le mécanisme cette fois ci pour changer le statutdes tâches et comme je vous disais la dernière chose qu'on va régler au niveau de l'interfacedans le liste widget ça va être le fait de ne plus avoir cette couleur bleue quand on sélectionne un item
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.