Tkinter Progress Bar

Tkinter Progress Bar

Lorsque vous travaillez avec des GUIS, c'est souvent une excellente option pour présenter la quantité de processus effectué sous la forme d'une barre de progression. Puisque le Tkinter est une bibliothèque de Python de construction de GUI, il fournit une méthode intégrée pour construire facilement une barre de progression. Ce guide vous montrera comment non seulement pour construire une barre de progression, mais aussi comment en utiliser deux modes différents et modifier la valeur de la barre de progression.

Comment construire une barre de progrès dans Tkinter Python?

Vous devez importer le package «TTK» et utiliser sa méthode ProgressBar ().

progvar = ttk.ProgressBar (framevar, orient, longueur, mode)

Dans la syntaxe de la méthode ProgressBar ():

  • progvar: La variable sera-t-elle utilisée pour accéder aux différents attributs de la barre de progression après sa création
  • framevar: La variable Tkinter TK, qui est le cadre / le volet sur lequel les progrès seraient affichés
  • Orient: Cet argument sera utilisé pour définir et définir l'orientation de la barre de progrès
  • longueur: Cet argument sera utilisé pour définir et la longueur de la barre de progrès
  • mode: L'argument du mode est utilisé pour définir le mode sur «déterminé» ou «indéterminé»

Construisons une barre de progrès simple dans Tkinter, qui progresse de 10% sur la presse sur un bouton en utilisant le code suivant:

#Start en important les bibliothèques Tkinter
de Tkinter Import *
de Tkinter Import TTK
#A après l'importation, créez le cadre à l'aide de la méthode tk ()
cadre = tk ()
cadre.Titre ("Linuxhint - Bar de progression")
cadre.géométrie ("400x200")
fenêtre = cadre (cadre)
#Method pour augmenter la valeur des progrès
def pbar ():
progbar ['valeur'] + = 10
#Build ProgressBar
progbar = ttk.ProgressBar (cadre, orient = horizontal, longueur = 400, mode = "déterminate")
progbaire.pack (pady = 40)
Bouton #build
btn = bouton (trame, text = "cliquez ici!", Command = pbar)
btn.pack (pady = 10)
cadre.boucle principale()

Dans cet extrait de code:

  • Tout d'abord, importez le package «Tkinter» et également le package «TTK», qui contient la méthode ProgressBar ()
  • Créez une trame en utilisant la méthode tk ()
  • Définissez la méthode pbar (), qui utilise la variable de la barre de progression «progbar» pour accéder à l'attribut «valeur» et l'augmente de 10
  • Créez la variable «Progbar» en utilisant la méthode ProgressBar () et définissez l'orientation sur horizontal et en mode pour déterminer
  • Enfin, créez un bouton qui appelle la méthode pbar () pour augmenter la valeur de la barre de progression.

Lorsque cet extrait de code est exécuté, il produit la fenêtre Tkinter suivante sur votre machine:

Comme vous pouvez le voir dans le GIF de sortie, la barre de progression a été créée et il a continué à progresser sur le clic sur le bouton. Cependant, une fois que la barre de progression a appuyé sur la longueur maximale, aucun autre changement ne se produit sur le bouton, appuyez sur le bouton.

Comment faire des progrès Bar partez dans Tkinter Python?

Pour faire avancer la barre de progression sur le bouton, vous devez utiliser la barre de progression «indéterminée». Avec une barre de progression «indéterminée», l'objectif n'est pas de montrer le pourcentage de travail effectué par le processus à l'utilisateur. L'objectif est plutôt de montrer qu'une action / un événement est en cours.

Pour créer une barre de progrès indéterminée, modifiez simplement l'argument du mode dans la méthode ProgressBar () pour «indéterminé»:

progbar = ttk.ProgressBar (cadre, orient = horizontal, longueur = 400, mode = "déterminate")

Placez cette ligne dans l'exemple précédent, exécutez le programme et il produira la fenêtre Tkinter suivante:

Comme vous pouvez le voir dans le GIF de sortie, la barre de progression indéterminée ne s'est pas arrêtée à 100%, mais il a commencé à aller et venir sur le bouton clique.

Comment réinitialiser la barre de progrès de Tkinter Python?

Pour réinitialiser la valeur de la barre de progression, utilisez simplement la variable de la barre de progression pour accéder à l'attribut «Valeur» et définissez sa valeur égale à zéro. Une bonne pratique consiste à réinitialiser la valeur de la barre de progression sur un bouton Appuyer.

Pour le démontrer, prenez ce code modifié à partir du premier exemple:

de Tkinter Import *
de Tkinter Import TTK
#A après l'importation, créez le cadre à l'aide de la méthode tk ()
cadre = tk ()
cadre.Titre ("Linuxhint - Bar de progression")
cadre.géométrie ("400x200")
fenêtre = cadre (cadre)
#Method pour augmenter / réinitialiser la valeur de progression
def pbar ():
progbar ['valeur'] + = 10
def resetpbar ():
progbar ['valeur'] = 0
#Build ProgressBar
progbar = ttk.ProgressBar (cadre, orient = horizontal, longueur = 400, mode = "indéterminé")
progbaire.pack (pady = 40)
Boutons #build
btn = bouton (trame, text = "progress", commande = pbar)
btn.pack (pady = 10)
btn2 = bouton (trame, text = "reset", command = resetpbar).pack (padx = 10)
cadre.boucle principale()

Lorsque ce code est exécuté, il produit le comportement suivant de la fenêtre Tkinter sur votre machine:

Vous pouvez observer que dès que le bouton «réinitialiser» est enfoncé, la progression est réinitialisée à 0.

Conclusion

Les barres de progression sont un excellent moyen d'informer l'utilisateur final du pourcentage d'achèvement ou du statut d'exécution d'une action. Pour construire une barre de progrès dans Tkinter, utilisez la méthode ProgressBar () du package «TTK» et passez les valeurs pour le cadre, l'orientation, la longueur et le mode. Pour modifier la valeur de progression de la barre de progression, accédez à sa «valeur» d'attribut et modifiez sa valeur en fonction de votre exigence.