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
et .cpp dans la quelle jai connecter QProgressBar1 avec QProgressBar 2void Thread::run()
{
//barre de progression de 0 a 100%
for(int i=0; i<= 100; i++ )
{
emit ValueChange();
QThread::sleep(1);
}
emit LoadFinish();
}
la deuxieme methode est la suivant ,jai créer 2Threads en paralléle un qui gere le QProgressBar 1 et un autre QProgressBar2,QObject::connect(pourcent,SIGNAL(valueChanged(int)),Nombre,SLOT(setValue(int)) );
voici un extrait:
et ma slot personnaliser
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(); }
voici la connection que jai fais:
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 )); }
Resultat de la 1er methode : une affichage de jusqu'a 100 de QProgressBar
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 QObject::connect(Thread1,SIGNAL(signal_updatePrg()),Nombre,SLOT(ProgressionFichier()) );
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
Partager