Tkinter: ProgressBar com duração indeterminada

Gostaria de implementar uma barra de progresso no Tkinter que atenda aos seguintes requisitos:

A barra de progresso é o único elemento na janela principalPode ser iniciado por um comando de partida sem a necessidade de pressionar qualquer botãoÉ capaz de esperar até que uma tarefa com duração desconhecida seja concluídaO indicador da barra de progresso continua se movendo enquanto a tarefa não estiver concluídaPode ser fechado por um comando de parada sem a necessidade de pressionar qualquer barra de parada

Até agora, eu tenho o seguinte código:

import Tkinter
import ttk
import time

def task(root):
    root.mainloop()

root = Tkinter.Tk()
ft = ttk.Frame()
ft.pack(expand=True, fill=Tkinter.BOTH, side=Tkinter.TOP)
pb_hD = ttk.Progressbar(ft, orient='horizontal', mode='indeterminate')
pb_hD.pack(expand=True, fill=Tkinter.BOTH, side=Tkinter.TOP)
pb_hD.start(50)
root.after(0,task(root))
time.sleep(5) # to be replaced by process of unknown duration
root.destroy()

Aqui, o problema é que a barra de progresso não para após o término dos 5s.

Alguém poderia me ajudar a encontrar o erro?

questionAnswers(1)

yourAnswerToTheQuestion