I’ve been trying to update my software (QT4.8, VTK 5.2 compiled with VS2008 on Windows 7 - a stable configuration but antiquated!) into the modern era with Windows 10 and VS2019 and 64 bit. My first attempt with VTK 8.2.0 and QT 5.15.2 has run into exactly the same problem with QVTKOpenGLWidget not redrawing on a QT ui->vtkwidget->update(), but only redrawing after tweaking the size, where vtkwidget is the name of the QVTKOpenGLWidget.
Unfortunately the compatibility profile settings made no difference for me. I was running this on an i5 laptop with a Intel Iris Xe graphics controller. The only way I could get reliable rendering updates was with a slightly ridiculous workaround of replacing
ui->vtkwidget->update() ;
with
int x = ui->vtkwidget->width();
int y = ui->vtkwidget->height();
ui->vtkwidget->resize(x,y+1);
ui->vtkwidget->resize(x,y);
I also tried another PC, Windows 10, i7, NVidia RTX A2000 graphics with VS2019 64-bit mode, QT 6.5.2 and both VTK 8.2.0 and VTK 9.3.0-rc1 (in the latter I had to replace QVTKOpenGLWidget with QVTKOpenGLStereoWidget) in the hope that either (or both) of the QT and VTK end of things would have been fixed, but I am still getting the same problem, and the same crazy workaround still works.
Struggling to know how to go forwards - my workaround is ok when I don’t need too much updating, but on the slower laptop it does make the rendering a little bit jiggly and it does seem a bit of a crazy thing to do!