- 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 :On va créer une méthode qui va nous permettre d'aller récupérer les tâches sur le disque duret de les afficher au lancement de l'application à l'intérieur de notre liste widget.
00:00:09 :Je vais l'appeler tout de suite après le setup UI, je vais l'appeler getTask tout simplementet pour l'instant elle n'existe pas mais on va tout de suite la créer tout en bas ici après addTask.
00:00:19 :Donc on fait une méthode qu'on appelle getTask et à l'intérieur de cette méthodela première chose qu'on va faire déjà c'est s'assurer de vider le liste widgetpuisque pour l'instant on la lance directement au lancement de l'applicationmais vous allez voir qu'en fait on va l'utiliser plus tard à l'intérieur de addTask
00:00:35 :donc quand on va ajouter une tâche on va réutiliser cette méthode getTaskon va recharger en fait si vous voulez l'intégralité des tâches à chaque fois pour remettre à jour la liste.
00:00:44 :Donc il y a différentes façons de faire les choses, on peut y aller comme ça en faisant comme un refreshà chaque fois de toute la liste ou on pourrait plutôt y aller en essayant d'ajouter les items au cas par cascomme on le fait ici mais vous allez voir que ça va être plus simple de rafraîchir tout à chaque fois
00:01:00 :vu la complexité de l'application qu'on aura à la fin.Donc dans le getTask ici ce qu'on va faire la première chose c'est faire un clear en faitsur notre liste widget pour vider la liste de toutes les tâcheset ensuite on va récupérer toutes les tâches sur le disque dur et les ajouter une à une.
00:01:13 :Donc on va récupérer toutes les tâches avec notre API donc package.api.tasket on avait fait une fonction getTask qui me permet de récupérer un dictionnaire avec toutes les tâches.
00:01:23 :On va ensuite boucler à travers toutes ces tâches.Alors ça c'est un dictionnaire, si vous vous souvienez bien task c'est un dictionnairedonc il va falloir boucler sur les éléments de mon dictionnaire.
00:01:31 :Donc ce que je vais faire c'est récupérer à la fois les clés et les valeurs de mon dictionnairedonc pour la clé je vais mettre un nom de variable que je vais appeler taskou je pourrais même mettre taskName puisque c'est le nom de la tâcheet comme deuxième élément que je vais récupérer je vais mettre done
00:01:45 :puisque en fait ça va être un booléen donc soit true soit falsequi va dire si la tâche a été complétée ou non.Donc je vais dire pour taskName, done in task.items
00:01:56 :donc items ça me permet sur un dictionnaire de récupérer à la fois les clés et les valeurset avec cette façon de l'écrire ici avec la virgule ça me permet de récupérerdans la première variable ici la clé et dans la deuxième variable la valeur.
00:02:07 :Si je mettais juste keys ici ça me permet de récupérer juste les cléset values juste les valeurs.Items ça me permet de récupérer les deux.
00:02:13 :Donc ce qu'on va faire ensuite c'est tout simplement pour l'instant un lwTaskAddItemet on va ajouter le nom de la tâche.Je n'utilise pas pour l'instant cette variable done,on l'utilisera dans les prochaines parties.
00:02:24 :Pour l'instant on n'a même pas encore fait le mécanismequi me permet d'afficher si une tâche est complétée ou nonmais dans les prochaines parties on va créer un listWidgetItemPersonalisésur lequel on va pouvoir changer la couleuret donc on va utiliser par la suite cette variable donepour changer la couleur en fonction de si la tâche est complétée ou non.
00:02:40 :Pour l'instant donc si je lance mon interfaceon devrait avoir la tâche que j'ai ajoutée dans la partie précédentedonc la tâche apprendrePython qui est correctement ajoutée dans la liste.
00:02:48 :Donc si je fais une autre tâche, faire c'est de voir,donc là par défaut elle est ajoutée quand on la créepuisque là on avait un listWidget,donc listWidgetTask.AddItem au moment de la création
00:02:59 :mais si je ferme l'interface cette fois-ci et que je la relanceon devrait bien avoir nos deux tâches qui sont correctement affichéesdès le lancement de l'application.
00:03:07 :Donc ça fonctionne, là comme je vous disaisje pourrais même remplacer ici cette ligne de codedéjà par ma fonction getTaskpuisque si on lance l'application là on a nos deux tâcheset si je mets je sais pas n'importe quoi ici, j'appuie sur OKvous voyez que automatiquement on a le même comportement
00:03:22 :sauf que c'est un petit peu différentpuisque là en remplaçant par getTaskà chaque fois qu'on ajoute une tâchecomme je vous dis on va recharger entièrement la liste des tâchesalors que précédemment on faisait juste rajouterla tâche qu'on venait de créer à la fin de la liste.
00:03:35 :Donc c'est deux comportements différentsmais moi je préfère dans ce cas-cipasser par un rafraîchissement complet de ma listec'est pas quelque chose qui prend beaucoup de tempsmême si on avait je sais pas 200 ou 300 listesça se fait très très rapidementon a même pas le temps de le voir quand ça s'exécute
00:03:49 :donc c'est vraiment pas un problème dans ce cas-cimême si on a énormément de tâches à gérerde recharger à chaque fois l'entièreté de la listequand on fait un addTaskdonc moi je préfère mettre ça iciet vous allez voir dans les prochaines partieson va réutiliser cette méthode à plusieurs endroits
00:04:04 :donc plutôt que d'à chaque fois faire un addItemou alors de faire un removepour enlever ce qui a déjà été complétéet bien on va tout simplement faire un getTasket ça va gérer tout ça automatiquementdonc dans la prochaine partie justementon va continuer avec la création
00:04:19 :d'un listWidgetItem qui va être personnaliséet qui va nous permettre d'ajouterun élément dans notre listemais avec par exemple une couleur d'arrière-planet des comportements un peu personnalisésen fonction de ce qui se passequand on va compléter une tâche par exemplequand on va cliquer sur la tâche, on va changer la couleur
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.