Bonjour,
Jai un fais un Thread qui gere un QProgressBar1 sur (0 à 100%) , Je souhaite connecter ca avec un autre QProgressBar2 sur (0,1080).lorsque QProgressBar1 est a 30% ,QProgressBar2 dois etre a 340, par example .Je tester 2 methodes sans un success.
Voici un extrait de mon code .La 1er methode

le Thread qui gere mon QProgressBar1
void Thread::run()
{
//barre de progression de 0 a 100%
for(int i=0; i<= 100; i++ )
{

emit ValueChange();

QThread::sleep(1);
}

emit LoadFinish();
}
et .cpp dans la quelle jai connecter QProgressBar1 avec QProgressBar 2
QObject::connect(pourcent,SIGNAL(valueChanged(int)),Nombre,SLOT(setValue(int)) );
la deuxieme methode est la suivant ,jai créer 2Threads en paralléle un qui gere le QProgressBar 1 et un autre QProgressBar2,
voici un extrait:
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
22
23
24
25
26
27
28
 
void Thread::run()
{
//barre de progression de 0 a 100%
    for(int i=0; i<= 100; i++ )
    {
 
                    emit ValueChange();
 
                    QThread::sleep(1);
    }
 
      emit LoadFinish();
}
 
void Thread::run2()
{
 
    // pour la barre de progression en nombre
          for(int i =0; i <= 1080; i++ )
          {
                   emit signal_updatePrg();
                   QThread::sleep(1);                               // pour simuler le temps de traitement.
         }
 
 
    emit LoadFinish();
}
et ma slot personnaliser
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
void Widget::ProgressionFichier()
{
     Nombre->setValue(1080 * qCeil( (pourcent->value())/100 ));
}
voici la connection que jai fais:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
QObject::connect(Thread1,SIGNAL(signal_updatePrg()),Nombre,SLOT(ProgressionFichier()) );
Resultat de la 1er methode : une affichage de jusqu'a 100 de QProgressBar
Resultat du 2eme methode : pas d'affichage des chargement progressivement.mais il ya que une affichage finale c'est tout.

Vous auriez une idée s'il vous plait