QProgressDialog qui ne s'affiche pas
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:
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:
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 ...