Thanks, that makes sense. Its not a QGLWidget, but its something similar that does OpenGL drawing in a seperate thread. I have a second question which I think has the same answer.
I have a widget that serves only as a container for a few child widgets (on top of this same 3D . I don't want to draw this container widget (just its children), and have tried overriding the paintEvent with an empty implementation, however it still appears to be drawing the widget, or at least the 3D drawing widget underneath is obscured by it. Is this the same problem? I found one work around for this is to just use a QObject to contain the other widgets instead, although it obviously requires me to reimplement things like move(), hide(), etc