Entrar    Registrar

Piscar um texto no Tkinter / Efeito colateral

Sintaxe e uso de Scripts e Marcadores

Moderadores: guest2003, 51

  • Autor
    Mensagem

Piscar um texto no Tkinter / Efeito colateral

Mensagempor RAWeigel » 17 Dez 2017 16:08

Estou iniciando meus estudos em Python, com o uso do Tkinter. Peguem leve nas respostas / criticas (rs!).
Preciso "piscar" um texto (blink), com um valor, quando este for o mais rápido (recorde da volta).
Busquei informações em vários lugares de como fazer isto de forma simples, mas só achei resultados utilizando o método ".after".
Porém, surgiu um efeito colateral, fazendo desta forma. Após algumas "piscadas", ele vai ficando mais lento.
Minhas dúvidas, são:
1) Tem algo errado do jeito que eu fiz?
2) Tem outra forma de fazer um texto piscar?

Abaixo um resumo do que eu fiz, apresentando o problema ("piscada" ficando lento).
python3 code
from tkinter import * # Python 3
Piscando=0

class Janela_Treino:
def __init__ (self,janela):
janela_treino = Canvas(0, width=800, height=600, bg="black")

def Placar():
global Piscando
x = 0
while x < 4:
if (x == 2): # Teste para piscar a posição 3
if Piscando == 0:
janela_treino.create_text(400, 75+(150*x),text="00:000", font=('Arial', 120, 'bold'), fill="black") # Esconde
Piscando = 1
else:
janela_treino.create_text(400, 75+(150*x),text="00:000", font=('Arial', 120, 'bold'), fill="white") # Mostra
Piscando = 0
else:
janela_treino.create_text(400, 75+(150*x), text="00:000", font=('Arial', 120, 'bold'), fill="white") # Mostra normal
x=x+1
janela.after(100,Placar) # Atualiza a tela a cada 0.1 segundo

Placar()
janela_treino.pack()

root = Tk()
Janela_Treino(root)
root.mainloop()
Richard
Avatar do usuário
RAWeigel
Byte
 
Mensagens: 226
Registrado em: 11 Out 2006 16:14
Localização: Rio de Janeiro - RJ

Voltar para Scripts ( Python, Lua, SQL, PHP, HTML, Matlab, etc... )

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante