Seite 1 von 1

Progressbar

Verfasst: 18. Dezember 2004 03:18
von snure
Hallo,

ich habe eine "Progressbar" zu der Statusbar eines Hauptfensters hinzugefügt. Diese Progressbar wird nur per Thread bei "Programm-Berechnungen" aktualisiert und zeigt den Verlauf der Berechnung an.
Soweit so gut. Sobald ich jedoch das Hauptfenster anklicke, verschieben will, ... friert die Progressbar ein und zeigt erst wieder nach dem Ende
der Berechnung den Status ( 100% ) an. Die Aktualisierung der Progressbar geht somit bei Interaktionen verloren.
Wie kann ich dies verhindern???

Ich habe es schon mit den Befehlen repaint() oder update() probiert, dem Ganzen entgegen zu wirken. Aber es hilft nicht.

Weiß jemand Rat?

Ahoi

Verfasst: 18. Dezember 2004 06:02
von ArneStocker
Hi

also mit Thread programmieren bin ich immer sehr vorsichtig. Ich habe jedoch die Erfahrung gemacht, dass entkoppeln immer gut ist.

Probier doch mal Deinen Berechnungsthread nur den integerwert des Fortschritts in irgend eine globale Variable schreiben zu lassen und hol Dir im Hauptthread (d.h. dem Deines MainWidget) die Ergebnisse über einen Timer ab und setze sie.

Vielleichts hilfts

Gruss Arne

Verfasst: 18. Dezember 2004 23:25
von snure
Gruß,

mhmm, an einen Timer als zweite Möglichkeit habe ich auch schon gedacht. Das müsste gehen.. Ich werde es mal ausprobieren. Danke!

Ansonsten gibt es keine spezielle Methode, mit sich ein Widget
während eines Prozesses neudarstellen/aktualisieren lässt?

ahoi

Verfasst: 20. Dezember 2004 00:01
von FlorianBecker
qApp::processEvents() oder so ähnlich.