짧은 제 생각으로는 쓰레드에서 보낸 신호가 위젯이 업데이트될 때 이벤트 루프에 중복으로 쌓여서 무시된 경우가 아닐까 추측해봅니다.
update -> paintEvent 로 넘어갈텐데
update 중복해서 이벤트 루프에 쌓인 경우 생략되어 한번만 호출된 것이 아닐까 합니다.
코드가 없어서 정확히는 알 수 없지만 업데이트 속도가 ms 단위로 정교해야할 필요가 없다면
update 가 불리는 signal/slot 연결을 Qt::QueuedConnection 옵션을 주고 해보세요.

참고로 repaint는 애니메이션이 아닌 이상 되도록 사용하지 말라고 합니다.