wxpython - threads e eventos de janela

Eu tenho um aplicativo wxPython (http://www.OpenSTV.org) que conta as cédulas usando métodos que possuem várias rodadas. Eu gostaria de fazer duas coisas:

(1) Para um grande número de cédulas, isso pode ser um pouco lento, então eu gostaria de mostrar ao usuário um diálogo de progresso para que ele não pense que o aplicativo está congelado.

(2) Gostaria de permitir que o usuário quebrasse os empates manualmente, e isso requer que o código de contagem mostre uma janela de diálogo.

Para conseguir (1), eu crio um thread para executar o código de contagem, e isso me permite apresentar um belo diálogo de progresso para o usuário.

O problema com isso, no entanto, é que o código de contagem não é o segmento principal e somente o thread principal no wxPython pode processar eventos de janela.

Eu suponho que eu poderia criar um thread para executar o diálogo de progresso em vez disso, mas isso parece estranho. Existe uma maneira melhor de realizar ambos (1) e (2)?

questionAnswers(2)

yourAnswerToTheQuestion