wxpython - потоки и события окна

У меня есть приложение wxPython (http://www.OpenSTV.org), который подсчитывает бюллетени, используя методы, которые имеют несколько раундов. Я хотел бы сделать две вещи:

(1) Для большого количества бюллетеней это может быть немного медленным, поэтому я хотел бы показать пользователю диалог прогресса, чтобы он не думал, что приложение заморожено.

(2) Я хотел бы разрешить пользователю разрывать связи вручную, и для этого требуется код счета, чтобы отобразить диалоговое окно.

Для достижения (1) я создаю поток для запуска кода подсчета, и это позволяет мне представить пользователю приятный диалог прогресса.

Однако проблема заключается в том, что код подсчета не является основным потоком, и только основной поток в wxPython может обрабатывать события окна.

Я полагаю, я мог бы создать поток для запуска диалога прогресса, но это кажется неудобным. Есть ли лучший способ выполнить оба (1) и (2)?

Ответы на вопрос(2)

Ваш ответ на вопрос