wxpython - потоки и события окна
У меня есть приложение wxPython (http://www.OpenSTV.org), который подсчитывает бюллетени, используя методы, которые имеют несколько раундов. Я хотел бы сделать две вещи:
(1) Для большого количества бюллетеней это может быть немного медленным, поэтому я хотел бы показать пользователю диалог прогресса, чтобы он не думал, что приложение заморожено.
(2) Я хотел бы разрешить пользователю разрывать связи вручную, и для этого требуется код счета, чтобы отобразить диалоговое окно.
Для достижения (1) я создаю поток для запуска кода подсчета, и это позволяет мне представить пользователю приятный диалог прогресса.
Однако проблема заключается в том, что код подсчета не является основным потоком, и только основной поток в wxPython может обрабатывать события окна.
Я полагаю, я мог бы создать поток для запуска диалога прогресса, но это кажется неудобным. Есть ли лучший способ выполнить оба (1) и (2)?