- 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 personlive_helpToutes les questions
Christian Aucane
27 janvier 2023 - 27 janvier 2023 à 19:37
checkConversation résolue
12 réponses
Les pourcentages ne correspondent pas
Je met 4 images a convertir, mais la barre de progression affiche 33% 66% et 100%Comment faire pour que ça corresponde ? ( pour afficher 25% 50% 75% et 100% …
00:00:00 :Dans cette partie, on va créer ce qu'on appelle un progress dialog,qui est en fait une fenêtre qui va contenir une barre de progressionet qui va nous indiquer où on est rendu dans le processus de conversion des images.
00:00:11 :Dans ma méthode convertImages, après avoir démarré le thread,on va créer un progress dialog et on va l'afficher.Et ensuite, quand on va avoir converti les images,donc à chaque fois que cette méthode va être appelée,à chaque fois qu'on aura une image qui va être correctement convertie,on va incrémenter de 1 la valeur de la barre de progression.
00:00:29 :Donc je vais commencer par créer mon progress dialog,donc je vais faire une variable que je vais appeler prgDialog,donc prg pour progress et dialog puisque c'est une fenêtre qui va être ouverte en plus.
00:00:40 :Donc c'est dans Qt Widgets et on a QProgressDialog.Alors attention, il y a QProgressBar qui est en fait une barre de progressionqu'on peut mettre un peu n'importe où, on pourrait l'inclure dans un widget quelconque.
00:00:50 :Et on a le QProgressDialog qui est en fait une fenêtre qui contient un QProgressBar.Donc vous pouvez soit décider de mettre la barre de progression directement dans l'interface,donc on pourrait la mettre par exemple en dessous du liste widget,ou alors vous choisissez de faire un QProgressDialoget là vous avez une fenêtre qui va s'ouvrir en plus de votre interface
00:01:10 :et qui va déjà contenir cette progress bar.Donc moi je vais créer un QProgressDialog,on va mettre le premier argument, c'est le titre en fait,donc je vais mettre conversion des images.
00:01:21 :On va avoir le texte du bouton,donc le bouton je vais mettre annuler tout simplement avec des points de suspensionet on va avoir ensuite l'étendue de notre progress bar.
00:01:30 :Donc on va pouvoir lui dire par exemple tu vas de 1 à 100et à chaque fois qu'on va incrémenter la barre de progressionet bien on va incrémenter la valeur de la barre de 1et donc une fois qu'on sera rendu à 100 et bien la barre sera complète.
00:01:43 :Donc là moi je veux commencer à 1et je veux aller jusqu'à la longueur en fait des images que j'aipuisque là je vais avoir un certain nombre d'images à convertirdonc par exemple imaginez que vous ayez 10 images à convertiret bien vous voulez que votre barre de progression aille de 1 à 10.
00:01:58 :Donc ça on l'a déjà récupéré en fait plus ou moinsdans cette variable ici qui est une listeet qui va contenir autant d'éléments qu'on a d'items à convertirpuisque si vous vous souvenez bienà chaque fois qu'on avait un item qui n'était pas processeddonc dont l'attribut ici n'était pas vrai
00:02:14 :on ajoutait 1 dans la liste.Donc si on a 3 images qui n'ont pas été convertiescette liste va contenir 3 fois le nombre 1et ça va nous donner donc une indicationqu'on a 3 images à convertiret on va pouvoir donc le mettre ici dans notre progress dialog.
00:02:26 :Donc je vais utiliser la fonction lenqui va me permettre de récupérer la longueur d'une listeet la liste ça va être donc cette liste images à convertirque l'on va insérer dans cette fonction ici.
00:02:37 :Donc comme je vous disais si j'ai 10 images à convertiron va commencer à 1et on va avoir une barre de progression qui va aller jusqu'à 10.
00:02:43 :Donc ça c'est notre progress dialoget on va tout simplement ensuite l'afficherdonc je vais faire prgDialog.showpour afficher cette barre de progression.Et ce qu'il nous reste à fairec'est incrémenter ce progress dialogpuisque pour l'instant si on l'afficheje vais vous montrer si je lance le programme
00:03:00 :et que j'essaye de convertir des imageson va avoir le dialogue qui s'ouvremais la barre de progression ne progresse pas.Et donc là ce qu'il va falloir fairec'est incrémenter cette barre de progressionà chaque fois qu'une image est convertie.
00:03:12 :Donc pour ça on va aller directementdans la méthode qui est appelée icià chaque fois qu'une image est convertieet on va tout simplement incrémenter la valeur de 1.
00:03:21 :Donc on va dire self.progressDialog.setValuedonc setValue ça me permet de changer la valeurpar exemple si je mets 5et bien la barre de progression va aller à 5nous ce qu'on veut c'est récupérer la valeur actuelleet l'incrémenter de 1.
00:03:34 :Donc la valeur actuelle on peut la récupérersur le progress dialogen utilisant la méthode valuedonc ça, ça va me récupérer la valeur actuelleet on va ajouter 1.
00:03:43 :Donc si on est à 1 on va être à 2si on est à 2 on va être à 3 etc.Donc si je relance l'interfaceon va pouvoir voir cette fois-cila barre de progression qui va s'incrémenter.
00:03:52 :Donc je reviens ici, je vais juste supprimerce dossier qui contient les images qui ont été réduitesje reglisse tout ça à l'intérieur de mon interfaceje clique sur conversionet là vous allez voir que voilàla barre de progression s'incrémente correctementet quand c'est terminéquand on arrive à la fin de notre étendue
00:04:10 :du progress dialogça se ferme automatiquement tout seul.Donc la fin c'est la fin de l'étendue iciquand on a le set value qui atteintla valeur qu'on rentre icidonc si par exemple on a 5 images à convertirautomatiquement quand le progress dialogva arriver à une valeur de 5
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.