Bonjour à toutes et à tous,

J'ai un petit soucis que je ne parviens pas à résoudre. J'essaye d'afficher une QprogressDialog le temps de copier des fichiers vers une clé USB.
La copie se passe bien mais je n'ai aucune fenêtre qui s'affiche. Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
QProgressDialog progress("Copying files...", "Abort Copy", 0, nbOfFiles, this);
                progress.setWindowModality(Qt::WindowModal);
 
                   for (int i = 0; i < nbOfFiles; i++) {
                       QApplication::processEvents();
                       progress.setValue(i);
 
                       examCtrller->transferToUSB(list.at(i), usbkeyList.at(usbPosition));
 
                       if (progress.wasCanceled())
                           break;
 
                   }
                   progress.setValue(nbOfFiles);
Ce code se trouve dans un slot qui est appelé lors d'un appui sur un bouton. La fonction est implémentée dans la MainWindow.cpp.

En essayant comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
               QProgressDialog progress("Copying files...", "Abort Copy", 0, 100000, this);
                progress.setWindowModality(Qt::WindowModal);
 
                   for (int i = 0; i < 100000; i++) {
                       QApplication::processEvents();
                       progress.setValue(i);
 
                       //examCtrller->transferToUSB(list.at(i), usbkeyList.at(usbPosition));
 
                       if (progress.wasCanceled())
                           break;
 
                   }
                   progress.setValue(100000);
J'ai bien une fenêtre qui s'affiche et dont la progression est bien mise à jour.

A moins que la copie de fichiers ne soit trop rapide ...