Ich habe ein QGLWidget, welches meine Szene rendert. Jegliche GUI soll nun in eine Textur gerendert werden, die dann auf einem Camera-aligned-quad angezeigt wird. Das funktioniert wunderbar, solange alles an Layouts ausgerichtet ist.
Folgender Aufbau bis jetzt:
Code: Alles auswählen
QGLWidget
|- QGridLayout
|- VirtualOverlay
Code: Alles auswählen
virtualOverlay->setAttribute(Qt::WA_DontShowOnScreen);
virtualOverlay->setAttribute(Qt::WA_TranslucentBackground);
Code: Alles auswählen
QPixmap pix(width, height);
pix.fill(QColor(0,0,0,0));
virtualOverlay->render(&pix);
Jetzt zu dem Problem:
Ich möchte, dass Position und Größe des VirtualOverlay absolut angegeben werden können, sodass auch mehrere VirtualOverlays angezeigt werden können, die sich ggf. auch überlappen und unabhängig voneinander sind.
Dazu verzichte ich auf das QGridLayout und sage:
Code: Alles auswählen
virtualOverlay->setParent(glWidget);
virtualOverlay->setGeometry(x, y, width, height);
Gibt es eine Möglichkeit, das irgendwie zu umgehen? Was genau ist die Ursache, dass bei absoluter Positionierung des Widgets die GUI events verschluckt werden?
Grüße
Daniel