QCanvas::update() funktioniert nicht

Alles rund um die Programmierung mit Qt
Antworten
linuQs
Beiträge: 26
Registriert: 16. August 2009 11:28

QCanvas::update() funktioniert nicht

Beitrag von linuQs »

Hallo erstmal (hab mich gerade erst angemeldet). Und natürlich gibts direkt ein Problem zu lösen :D

Das Problem: Bei einmaligem aufrufen von mycanvas.update() (auch wenn ich vorher mycanvas.setAllChanged() aufrufe) passiert nichts.

An der Stelle wo der Fehler auftritt wird eine Schleife durchlaufen, die so lange ausgeführt wird, bis ein Skript abgearbeitet wurde. Jede Zeile im Skript stellt einnen Befehl dar. Wenn der Befehl z.B. ducken heißt, wird ein neues Bild geladen, also z.B.

Code: Alles auswählen

playeritem -> changePicture( loadPicture ( "ducken.png" ) );
playeritem ist ein QCanvasRectangle, dass ein QImage anzeigt (drawShap ist vorhanden). danach soll das QCanvas das Bild auch anzeigen, also

Code: Alles auswählen

mycanvas.setAllChanged();
mycanvas.update();
Das Problem ist nun, dass das update() offenbar nicht funktioniert, jedenfalls wird immer erst der nächste Skript Befehl ausgeführt, z.B. sleep 1000 und erst nach der Wartezeit wird dann das Bild angezeigt.

Außerdem habe ich herausgefunden, dass es funktioniert, wenn man 5 mal hintereinander setAllChanged(); update(); aufruft... Bevor ich so was verwende, wollte ich mal wissen, ob es vielleicht auch anders geht :wink:

Hat jemand eine Idee oder einen Hinweis wo das Problem liegt?
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Wäre es nicht langsam mal an der Zeit auf Qt4 umzusteigen?
linuQs
Beiträge: 26
Registriert: 16. August 2009 11:28

Beitrag von linuQs »

Daran habe ich auch schon gedacht, aber ich benutze KDE und mir gefällt KDE3 nach wie vor besser als KDE4. Falls keiner eine Lösung weiß werde ich das Projekt vielleicht portieren, hab aber bisher nur mit Qt3 gearbeitet.

EDIT: @upsala: Welches Programm würdest du denn für Qt4 (unter KDE) Programmierung empfehlen? Ich habe bisher immer Kdvelop3 genutzt, der hat aber kein gutes Qt4 Template. Qt Creator hab ich mir auch schon angeguckt, aber mir wäre eine IDE lieber, mit der man auch KDE Programmen schreiben kann.
Antworten