Ich hangel mich gerade durch das Beispiel und hab es soweit am laufen, dass der Dialog erscheint, schön aktualisiert wird und der Benutzer kann die Fenster verschieben bzw. sie werden neugezeichnet, da ich
Code: Alles auswählen
QApplication::processEvents();
Das soll ja laut Doku so gehen (was heißt laut Doku, dass musste ich zusammenbasteln
Code: Alles auswählen
QEventLoop::processEvents( QFlags<QEventLoop::ProcessEventsFlag>(QEventLoop::ExcludeUserInputEvents));
Leider ist das keine statische Methode, sondern von QEventLoop muss ein Objekt angelegt werden. Da hilft mir die Doku aber nicht weiter, wenn ich eines anlege und dann diese Methode aufrufe hängt die GUI dennoch, d.h. sie macht gar nichts. Hier mal mein Code
Code: Alles auswählen
QEventLoop eventloop(this);
eventloop.exec();
QProgressDialog progress("Copying files...", "Abort Copy", 0, 3192, this);
progress.show();
for (int i = 0; i < 3192; i++)
{
progress.setValue(i);
// Geht super mit dieser Methode, nur ich will halt keinen UserInput verarbeiten!
// QApplication::processEvents();
eventloop.processEvents( QFlags<QEventLoop::ProcessEventsFlag>(QEventLoop::ExcludeUserInputEvents));
if (progress.wasCanceled())
break;
Sleep(4);
//... copy one file
}
progress.setValue(3192);
eventloop.quit();
return(true);´
- Kann mir da jemand helfen?