Progressbar

Alles rund um die Programmierung mit Qt
Antworten
snure
Beiträge: 14
Registriert: 4. November 2004 17:12

Progressbar

Beitrag 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
ArneStocker
Beiträge: 300
Registriert: 3. November 2004 16:15
Wohnort: Berlin

Beitrag 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
snure
Beiträge: 14
Registriert: 4. November 2004 17:12

Beitrag 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
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

qApp::processEvents() oder so ähnlich.
Antworten