Вы не позволяете циклу обработки событий Qt, поэтому графический интерфейс не отвечает. Кроме того, repaint()
не требуется, QLabel.setText()
перекрасит метку. Все, что он делает, это ставит в очередь дополнительное событие рисования, но это никогда не обрабатывается.
Вам нужно заменить self.repaint()
на QtGui.QApplication.processEvents()
. Это даст приложению возможность обрабатывать любые ожидающие события (включая перерисовку, а также взаимодействие с пользовательским интерфейсом), пока вы в цикле.