Barre de progression Tkinter

Barre De Progression Tkinter



Vous pouvez mettre à jour le client sur l'état d'un long processus avec un widget de barre de progression. L'objectif du widget est de donner à l'utilisateur l'assurance que quelque chose se passe. Il a deux modes de fonctionnement différents. En mode déterminé, le widget affiche une indication qui se déplace dans une direction prédéterminée. Le widget est déplacé dans un état indéterminé pour donner au client l'impression que quelque chose se passe. Le signal oscille entre les extrémités du widget tout au long de ce style. L'utilisation des barres de progression déterminées et indéterminées en Python sera abordée dans ce didacticiel.

Commençons par la configuration d'une bibliothèque Tkinter de Python. Après le lancement réussi du terminal, essayez la requête suivante pour configurer le package Tkinter. Assurez-vous que Python est déjà installé avant d'utiliser cette instruction.

$ sudo apt install python3-tk







Exemple 1

Commençons par notre premier exemple de Python pour utiliser le module Tkinter pour créer une barre de progression déterminée sur son interface graphique. Ainsi, nous avons créé un nouveau fichier Python nommé 'new.py' et ajouté le code suivant. Nous avons commencé ce code en important tous les objets enfants de la bibliothèque Tkinter de Python à la première ligne. Après cela, nous avons importé l'objet de classe 'ttk' du module Tkinter dans la deuxième ligne de code.



Le constructeur de la classe Tk() a été appelé et a enregistré son objet dans la variable « t ». La fonction « titre » a été atteinte avec la variable objet « t » pour créer un titre pour l'interface graphique. La taille d'une fenêtre GUI Tkinter a été définie sur '300 × 200' via la fonction geometry(). La barre de progression serait générée par une fonction définie par l'utilisateur 'Pbar()'. Nous reviendrons sur cette fonction dans la dernière partie de cet article.



Nous avons créé une variable 'p' au 8 e ligne de ce code Python qui a utilisé la fonction Progressbar() via l'objet de classe 'ttk' pour créer une barre de progression sur l'écran de l'interface graphique. L'objet 't' lui a été passé alors que son orientation a été définie sur Horizontal, sa longueur définie sur 400 et son mode est déterminé, c'est-à-dire qu'il se déplacera uniquement dans une direction particulière. Le remplissage de l'axe 'y' a été défini sur 30 par l'utilisation de la fonction 'pack ()' pour cette barre de progression.





Après cela, nous avons créé un nouveau bouton 'b' en utilisant la fonction Button() et en lui passant l'objet 't', du texte et la commande à exécuter après avoir cliqué sur le bouton, c'est-à-dire la fonction appelée la fonction 'Pbar'. La fonction Pbar() incrémenterait la valeur de la barre de progression 'p' de dix et reviendrait à la variable 'b'. Le rembourrage de l'axe 'y' pour le bouton a été défini sur '10' à l'aide de la fonction pack(), et la fonction mainloop() est là pour boucler toute l'exécution.



Après avoir terminé un code Python, nous l'avons enregistré et exécuté sur la console via la requête « python3 » suivie du nom d'un fichier « new.py » :

$ python3 nouveau.py

Il a lancé l'interface graphique Tkinter de Python avec le titre 'Barre de progression' sur l'écran de notre console. Dans l'image suivante, il n'y a qu'une barre de progression sans traitement. Vous devez d'abord appuyer sur le bouton.

Après avoir appuyé sur le bouton 'Appuyez ici !', la barre de progression bleue s'affiche comme suit :

Après trois clics consécutifs, nous avons reçu la progression suivante sans aucun mouvement :

Après avoir atteint la fin de la barre de progression, nous ne pouvons pas aller plus loin, c'est-à-dire une barre de progression déterminée.

Exemple 2

Regardons la création d'une barre de progression indéterminée qui peut avancer et reculer dans la zone de progression à l'aide du module Tkinter GUI Python. Nous avons donc commencé ce code Python en important le module Tkinter en tant que 'tk' et l'objet ttk de la classe 'ttk'. L'objet tk a été rejeté pour obtenir le résultat du constructeur 'Tk()' et enregistré dans la variable 't'.



La variable 't' a été utilisée avec la fonction title() pour ajouter un titre pour l'interface graphique à côté de la fonction geometry() afin de déterminer la taille d'une fenêtre GUI à afficher. La fonction grid() a été appelée avec la variable « t » pour organiser l'interface graphique sous forme de tableau.

Après cela, nous avons utilisé la variable 'p' pour créer une barre de progression via la fonction Progressbar () de l'objet de classe ttk avec la même variable 't', l'orientation horizontale, les longueurs 300 et le mode indéterminé. La barre de progression a été organisée sous forme de tableau via la fonction 'grid ()' qui utilise le rembourrage spécifique pour les axes 'x' et 'y'. Nous avons créé deux boutons, 's' et 'e', pour démarrer le mouvement de la barre de progression, le terminer et le déplacer d'avant en arrière.







Le paramètre collant de la fonction grid() pour les deux boutons définit la direction, c'est-à-dire Est et Ouest. Les commandes, 'start' et 'stop', ont été définies pour les deux boutons au 9 e et 11 e ligne. Avec l'exécution de la fonction mainloop(), notre programme est terminé et prêt à être utilisé après l'avoir enregistré.





L'exécution a eu lieu d'une manière similaire.





$ python3 nouveau.py

Au lancement de l'interface graphique, l'écran suivant s'est présenté :



Après avoir appuyé sur le bouton 'Appuyer pour démarrer', la barre de progression a commencé à avancer.

Après avoir atteint la fin, il se déplace dans la direction opposée, c'est-à-dire vers l'ouest.

Une fois que vous avez appuyé sur le bouton 'Appuyer pour arrêter', la barre de progression a de nouveau été définie à la position initiale.

Conclusion

Cet article a montré l'utilisation de la barre de progression dans l'interface graphique de Tkinter. Nous avons simplement utilisé les objets de la classe Tkinter pour appeler différents widgets afin de rendre l'interface graphique Python plus interactive. Nous avons discuté de l'utilisation de barres de progression déterminées et indéterminées dans nos exemples. Nous espérons que vous apprécierez leur mise en œuvre.