
Neste será mostrado como fazer barra de progresso em Python. Barras de progressão são uma maneira fácil de visualizar o status de uma tarefa.
No vídeo a seguir é mostrado o código para fazer uma barra de progresso em Python.
Código
O código utilizado no vídeo é mostrado a seguir:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | from tkinter import * from tkinter.ttk import * import time root = Tk() root.title( "Barra de Progresso" ) root.geometry( "600x500" ) #Tamanho da janela que será aberta def soma(): barra[ 'value' ] + = 5 def sub(): barra[ 'value' ] - = 5 barra = Progressbar (root, orient = HORIZONTAL, mode = 'determinate' ) barra.pack() bt1 = Button (root, text = '+' , command = soma) bt1.pack() bt2 = Button (root, text = '-' , command = sub) bt2.pack() root.mainloop() |
O código cria uma barra de progresso e duas teclas que são utilizadas para ajustar os valores da barra de progresso. Abaixo é mostrado o resultado do código anterior.

O modo apresentado para barra de progresso é modo ‘determinate’, mas também é possível configurar para o modo ‘indeterminate’. Para isso basta mudar a seguinte linha código:
1 2 | barra = Progressbar (root, orient = HORIZONTAL, mode = 'indeterminate' ) barra.pack() |
Com isso a barra de progresso não vai mais ficar contínua, mas sim uma barra parecida com um slider, como mostrado abaixo:

Também é possível alterar outros atributos do barra, como largura da barra de progresso, para isso podemos alterar a linha de código como mostrado abaixo:
1 2 | barra = Progressbar (root, orient = HORIZONTAL, length = 150 , mode = 'determinate' ) barra.pack() |
Abaixo é mostrado o resultado da barra com um comprimento maior.

Barra com animação
Além disso, podemos modificar os dois métodos que são utilizados para incrementar e decrementar a barra de progresso para criar uma animação mais agradável para o usuário, de forma que barra não pule de forma seca.
Para isso podemos escrever as duas funções como segue abaixo:
1 2 3 4 5 6 7 8 9 10 11 | def soma(): for i in range ( 5 ): root.update_idletasks() barra[ 'value' ] + = 1 time.sleep( 0.1 ) def sub(): for i in range ( 5 ): root.update_idletasks() barra[ 'value' ] - = 1 time.sleep( 0.1 ) |
Abaixo é mostrado como ficou:
Conclusão
Neste post vimos como fazer barra de progresso em Python. O código pode ser aprimorado e adicionado novos componentes.
Isso é tudo pessoal, e até o próximo post.
Documentação do Python para o Tkinterttk: