[gelöst] QGLWidget Problem
Verfasst: 13. Mai 2010 11:43
Was ich habe:
QWidget als seperates Fenster, enthält
- ein QMdiWindow
- einem Slider der den aktuellen Frame kontrolliert
Das QMdiWindow bekommt QMdiSubWindows welche meine abgeleiteten QGLWidgets als Widget haben.
Jede dieser Instanzen verwaltet 2 ViewListen:
- Koordinatensystem und Zeug (einmal generiert und bleibt unverändert)
- Daten des aktuellen Frames (neu generiert bei Slider.valueChanged() )
Jede Instance erhöht einen static instanceCounter und ignoriert fürs Listengenerieren die ersten glGenLists(instanceCounter * 2) glints (glGenLists are shared between instances)
Bewegt der Slider sich, erstelle ich in der QGL-Instanz eine neue viewLists mit Daten des aktuellen Frames und stoße ein updateGL() an.
Wenn ich eines meiner QGLWidgets nutze passt alles, ich kann durch die Daten Slidern und sehe immer den aktuellen Datensatz.
Habe ich 2 Instanzen (verschiedener FrameLänge) sehe ich für die Dauer des kürzeren Datensatzen statisch Frame 0 in beiden Fenstern, überschreitet der aktuelle Frame die Länge des kürzeren Datensatzes sehe ich den aktuellen Frame des längeren, der kürzere bleibt auf Frame 0.
Was mache ich falsch?
QWidget als seperates Fenster, enthält
- ein QMdiWindow
- einem Slider der den aktuellen Frame kontrolliert
Das QMdiWindow bekommt QMdiSubWindows welche meine abgeleiteten QGLWidgets als Widget haben.
Jede dieser Instanzen verwaltet 2 ViewListen:
- Koordinatensystem und Zeug (einmal generiert und bleibt unverändert)
- Daten des aktuellen Frames (neu generiert bei Slider.valueChanged() )
Jede Instance erhöht einen static instanceCounter und ignoriert fürs Listengenerieren die ersten glGenLists(instanceCounter * 2) glints (glGenLists are shared between instances)
Bewegt der Slider sich, erstelle ich in der QGL-Instanz eine neue viewLists mit Daten des aktuellen Frames und stoße ein updateGL() an.
Wenn ich eines meiner QGLWidgets nutze passt alles, ich kann durch die Daten Slidern und sehe immer den aktuellen Datensatz.
Habe ich 2 Instanzen (verschiedener FrameLänge) sehe ich für die Dauer des kürzeren Datensatzen statisch Frame 0 in beiden Fenstern, überschreitet der aktuelle Frame die Länge des kürzeren Datensatzes sehe ich den aktuellen Frame des längeren, der kürzere bleibt auf Frame 0.
Was mache ich falsch?