PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : QGLWidget mit weiteren Elementen benutzten



AnubisTheKing
09-01-2004, 10:33
hi,

ich habe folgendes Problem. Ich habe eine Klasse QGLViewerWidget die abgeleitet ist von QGLWidget. Hier habe ich meinen ganzen OpenGLkram reingepackt. So nun habe ich aber noch eine andere Klasse MeshViewerWidget die ein Kind von QGLViewerWidget ist. In MeshViewerWidget habe ich dann die Menüs erstellt die ich haben will was auch alles geklappt hat. Nur, jetzt wollte ich noch ein paar andere Widgets in mein Fenster packen z.B. ein label und spinboxen. Wie mache ich das? Wenn ich einfach nen QHBoxLayout benutzte und dort die anderen Sachen reinpacke bekomme ich nur mist auf mein fenster. Da ist dann nicht eine schöne Zeile in der Alles drin ist sondern die Objecte liegen auf meinem OpenGLteil des Fensters. Was mache ich falsch? Bis dann
AnubisTheKing

axeljaeger
09-01-2004, 10:54
Verstehe ich dich richtig? Du hast IN ein QGLWidget andere QWidgets, wie etwa Buttons, Spinboxes u.Ä. gepackt? Das kann nicht gut gehen.

AnubisTheKing
09-01-2004, 11:51
warum kann das nicht gut gehen? das menü da rein zu packen ging doch auch ohne Probleme. Dann muss ich wohl noch eine anderes Widget davor setzten damit es klappt.

axeljaeger
09-01-2004, 12:19
Weil ein QGLWidget einen OpenGL-Context erzeugt, in dem die Grafikkarte dann relativ direkt malen kann. Es ist auch üblich, den Befehl zu geben, das QGLWidget so oft wie möglich neu zu zeichnen. Das gibt dann Ärger mit dem anderen Grafiksystem (X Window), weil erst der Inhalt des OpenGL-Widgets gezeichnet wird und die Controll innen drinn ja noch informiert werden müssen, das sie "übermalt" wurden. Du wirst wenigstens ein starkes Flickern bemerken. Man bettet üblicherweise das QGLWidget in ein größeres Widget und ordnet andere Widgets außen rum an.