QT und OpenGL; asynchrone Ausführung
-
Hallo Leute,
ich habe ein Programm geschrieben, dass die Wärmeverteilung auf einer (0,1)x(0,1) Metallplatte simuliert. Die Mathematik ist mitlerweile soweit OK. Jetzt möchte ich gerne, dass das Programm das noch schön darstellt. Der Einfachheit halber möchte ich ein Fenster erzeugen, das genauso viele Pixel hat wie ich Punkte in meinen Gleichungssystem habe. Soweit so gut.
Aber wie kriege ich jetzt meine Grafikausgabe dazu, zu zeichnen, und das Gleichungssystem zu lösen?
Wenn ich qApp.exec aufrufe hängt mein Programm, bis ich das Fenster schließe und _dann_ wird das Gleichungssystem gelöst.
Ich dachte schon mal an Threads. Könnte das die Lösung sein? Also qApp.exec() in einem zweiten Thread aufrufen?Gruß Mea
-
Thread sind oft eine gute Idee für solche Aufgaben. Dein Gleichungssystem wird in einem Thread gelöst und immer wenn es Zwischenlösungen gibt, kannst du diese an den GUI Thread schicken, damit er diese darstellt. Was man bei Qt beachten muss steht je nach Version unter
http://doc.trolltech.com/4.0/threads.html oder http://doc.trolltech.com/3.3/threads.html