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:
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:
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:
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:
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: