Como criar um efeito de desvanecimento no Tkinter? Meu código falha

Estou criando um aplicativo no Tkinter com uma janela personalizada por meio do comando overrideredirect. Liguei meu botão X auto-projetado à função abaixo. Fechar o aplicativo usando meu botão funciona bem e desaparece, mas depois de alguns segundos a janela reaparece, fica presa em um loop (é o que parece) e trava. Ele deveria sair, o que foi feito antes de adicionar o loop fadeout. Alguém pode me dizer por que o programa reaparece e depois falha ou oferece uma alternativa melhor para um efeito de fadeout ao fechar o aplicativo (eu sei que existem kits de ferramentas mais sofisticados, mas preciso usar o Tkinter nesse caso)?

obrigado

def CloseApp(event):
if InProgress==False: #InProgress boolean defined elsewhere in program
    if tkMessageBox.askokcancel("Quit","Do you really wish to quit?"):
        n=1
        while n != 0:
            n -= 0.1
            QuizWindow.attributes("-alpha", n)
            time.sleep(0.02)                                  
        Window.destroy() #I've also tried using the quit() method, not that it would make a difference
else:
    if tkMessageBox.askokcancel("Quit"," If you quit now you will lose your progress and have to start again. Are you sure you want to quit?"):
        n=1
        while n != 0:
            n -= 0.1
            QuizWindow.attributes("-alpha", n)
            time.sleep(0.02)
        Window.destroy() 

questionAnswers(1)

yourAnswerToTheQuestion