- 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:18 :A ces clés, je vais associer deux tuples et chaque tuple va contenir trois nombres qui vont représenter les couleurs rouge, vert et bleu.Cela va me permettre de changer la couleur de mon ListWidgetItem à l'intérieur de ma classe.
00:00:31 :Je crée une constante que j'appelle Colors ici et je vais créer un dictionnaire avec, comme je vous disais, false.Je vais mettre des couleurs que j'ai trouvées qui correspondent pas mal, du rouge assez clair quand ce n'est pas complété et du vert quand ça l'est.
00:00:55 :Je vais faire 235, 64 et 52. C'est pour le rouge pâle.On va mettre une autre clé qui va être true qui va contenir un tuple de 160, 237 et 83.
00:01:18 :On va créer une méthode qui va s'appeler SetBackgroundColor qui veut dire qu'on va changer la couleur d'arrière-plan de notre item.Cette méthode on va l'appeler d'ailleurs tout de suite SetBackgroundColor puisque quand on va initialiser notre task item, on va vouloir automatiquement changer sa couleur d'arrière-plan en fonction de son statut.
00:01:39 :Je l'appelle tout de suite après avoir ajouté mon item dans la liste.A l'intérieur de cette méthode ici, on va tout d'abord récupérer la couleur qui correspond au statut de ma tâche.
00:01:57 :Le statut on l'avait récupéré dans cette variable ici que j'ai appelé self.done.Et self.done qu'est-ce qu'on lui envoie ? On lui envoie done ici.Done ici qu'est-ce que c'est ? C'est la deuxième partie de notre dictionnaire.
00:02:08 :Là on a notre dictionnaire de tâches qui si vous vous rappelez bien contient le nom de la tâche et le statut.Le statut c'est un booléen true ou false.
00:02:16 :Par défaut quand on ajoute une tâche elle est à false.On passe ça ici à notre task item.Dans ce cas-ci ça va être false.
00:02:23 :On va récupérer false ici dans notre variable self.done et on va utiliser self.done pour aller récupérer la couleur.Dans ce cas-ci si c'est false on va aller récupérer le topol ici.
00:02:33 :Donc vous voyez le chemin que ça fait.On part vraiment de loin.On envoie ça un peu partout.On a un dictionnaire.On va récupérer la clé.
00:02:40 :Ça nous retourne la valeur.Et on récupère tout ça au final dans cette petite variable qui s'appelle color.Donc ça fait beaucoup de chemin mais ça permet d'avoir quelque chose d'assez robuste.
00:02:48 :Si jamais on voulait changer les couleurs on aurait juste à changer les topols ici.Et après ici c'est un booléen donc false ou true il n'y a pas grand chose à modifier ici.
00:02:55 :Donc on va récupérer ça avec notre variable self.done et ça va nous retourner la couleur associée à la tâche.Donc si la tâche est false on va récupérer la couleur rouge.
00:03:03 :Et si la tâche est complétée donc self.done et true on va récupérer la couleur verte.On va ensuite changer la couleur d'arrière-plan de notre ListWidgetItem avec cette background color.
00:03:15 :Donc cette méthode ici qui va attendre un QColor.Alors QColor c'est là encore une classe qui est restée à l'intérieur de QtGUI.Donc il va falloir l'importer ici.
00:03:25 :Donc ce n'est pas dans QtWidget.Ça c'est encore dans QtGUI même si vous êtes avec PySide2.Donc QtGUI.QColor et on va lui passer la couleur.
00:03:34 :Donc la couleur c'est notre variable qu'on a ici sauf que pour l'instant la couleur ici c'est un TopOwl.Donc nous il va falloir qu'on donne en fait non pas un TopOwl ici mais trois valeurs.
00:03:42 :Par exemple je pourrais donner 255, 0, 255 et là on aurait la valeur de rouge, de vert et de bleu.Sauf que pour l'instant ce n'est pas trois valeurs qu'on donne c'est un TopOwl puisque ici on a un TopOwl.
00:03:52 :Donc c'est comme si je prenais par exemple ce TopOwl ici et que je le collais à l'intérieur de ma classe QColor.Donc ça ça ne fonctionne pas puisque QColor il ne veut pas un TopOwl il veut vraiment trois valeurs.
00:04:01 :Donc ce qu'on va pouvoir faire c'est un unpacking.Donc unpacking ça permet de, si vous voulez, enlever un peu les parenthèses.C'est un peu comme si on enlevait ces parenthèses ici et que plutôt que de donner le TopOwl directement on donnait les trois valeurs séparément.
00:04:14 :Et pour faire ça on va utiliser en fait un astérisque.Donc un astérisque comme ceci.On donne le nom de notre variable après et automatiquement on va unpacker ces trois valeurs à l'intérieur de notre classe QColor.
00:04:26 :Donc comme ça plutôt que d'envoyer le TopOwl on va envoyer la valeur de rouge, la valeur de vert et la valeur de bleu.Donc je vais essayer tout ça.
00:04:32 :Je vais lancer mon script pour voir si ça fonctionne.Et là on a bien les couleurs.Donc la couleur de base qui est rouge clair comme je vous disais de nos tâches.
00:04:41 :Je pourrais essayer avec l'autre couleur.Par exemple ici en changeant plutôt que de passer done je vais passer true par défaut.Donc on va considérer que toutes nos tâches par défaut sont complétées.
00:04:50 :Et donc si je relance là normalement on aura le vert.Donc ça fonctionne.Et si je vais changer ici la couleur.Par exemple au lieu de 160 je vais mettre 255 et là je vais mettre 0.
00:04:59 :Je relance et là vous allez voir qu'on a une couleur différente qui a été automatiquement modifiée grâce à ce TopOwl.Donc tout fonctionne.On a bien la couleur pour les tâches qui sont complétées et celles qui ne le sont pas encore.
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.