Bonjour,

J'ai un souci dans une de mes fonctions où je souhaite afficher un QProgressDialog pour pouvoir suivre l'avancement de son exécution mais le pop-up n'apparaît pas forcément et s'il apparaît, il reste gris, et n'affiche ni label, ni la valeur de progression, etc..

Voici le code de ma fonction :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void MainWindow::sift(){
    system("./bin/ToSift.sh "+imageDir.toAscii()+" sift");
    QProgressDialog* progress = new QProgressDialog("Generation des points SIFT en cours...","Annuler", 0, 100,this);
 
    QString command, temp;
    progress->setWindowModality(Qt::WindowModal);
    progress->setValue(0);
    progress->setVisible(true);
    for (int i = 0; i < ui->listPictures->count(); ++i) //listPictures => QListWidget
    {
        temp = temp.setNum(i);
        command = "sh sift"+temp+".txt";
        system(command.toAscii());
        progress->setValue(100/ui->listPictures->count()*i);
        progress->show();
 
    }
    progress->setVisible(false);
    system("rm sift*.txt");
    ui->actionMatching->setEnabled(TRUE);
}