Primeiramente gostaria de dizer que sou novo em Python, portanto qualquer ajuda é muito bem vinda.
Então... Estou encontrando problemas para rodar uma função em looping, o meu programa funciona perfeitamente, mas a partir do momento em que chamo a função(através do evento click de um botão) que deve ser executado em looping o programa fica travado, pude perceber que o problema é o looping, pois o programa não consegue atualizar as outras informações por estar "preso" nesse looping. Preciso que essa função rode até que o usuário aperte um botão de finalizar, e como a minha função se inicia com uma condicional não posso usar o comando "break" para sair do looping. Seguem o código da função que deve rodar em looping, se alguém puder me ajudar, não consegui achar em nenhum lugar uma solução.
def insereal():
while True:
global atual
global ant
if(atual == GPIO.LOW and ant == GPIO.HIGH):
global contador
def insere_alumina (contador):
return ((int(contador) +1))
contador=insere_alumina(contador)
print((contador)*fator)
exibe = Label(janela, text=(contador * fator), font="century 45", bg="#A9A9A9", fg="white", bd=6).place(x = 480, y = 60, width=300, height=120)
time.sleep(0.1)
ant = atual
atual = GPIO.input(40)
Att, obrigado.