Einfachster Weg für das Offscreen-Rendering mit QOpenGLWidget

Ich habe ein verstecktes QOpenGLWidget (Qt 5.4.2, NICHT QGLWidget) und ich möchte grundsätzlich kontinuierlich grab () oder grabFramebuffer () ausführen, um dessen Inhalt abzurufen (und auf die Festplatte zu schreiben). Das Widget wird gut gerendert, wenn es sichtbar ist, aber nicht, wenn es ausgeblendet ist. Wenn ich ein show () gefolgt von einem hide () aufrufe, funktioniert es. Dies erscheint merkwürdig, da QOpenGLWidget laut Dokumentation bereits intern in einen Framebuffer gerendert hat. Was ist der einfachste Weg, um dies zu erreichen (wenn möglich, ohne einen weiteren Framebuffer zu erstellen)?
Bonus-Punkte für die Fähigkeit, ein QGraphicsView außerhalb des Bildschirms mit einem QOpenGLWidget als Ansichtsfenster mit benutzerdefinierten OpenGL-gemalten QGraphicsItems zu erfassen ...

Antworten auf die Frage(4)

Ihre Antwort auf die Frage