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 :
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.
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);
En essayant comme ceci :
J'ai bien une fenêtre qui s'affiche et dont la progression est bien mise à jour.
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);
A moins que la copie de fichiers ne soit trop rapide ...
Partager