Bonjour, j'aimerai me servir de la fonction QTimer pour incrémenter un widget progressbar : c'est a dire a un intervalle de 200ms par exemples la progressbar gagne 1% .
mais je sais pas quoi mettre dans la fonction. en plus je crois qu'il y a un truc compliqué ou il faut utiliser un QString ou une chaine de charactère.
Ah mon amis si tu n'aimes pas l'anglais il va falloir malheureusement arrêter l'informatique. Et par pitié, code en anglais AUSSI. Sinon
Ta fonction update on ne la voit pas
La syntaxe SIGNAL/SLOT est dépréciée
Mais là à modifier la valeur d'un widget quand tu change sa valeur (donc sans son évènement valueChanged), il est possible de faire une boucle infinie.
- Edité par markand 5 février 2019 à 16:11:31
git is great because Linus did it, mercurial is better because he didn't.
En supposant que ta progress bar ait un range entre 0 et 100 (valeurs par défaut, setRange() pour le changer), il te suffit d'incrémenter la valeur que tu passes à setValue.
Attend je vais d'abord aller m'entrainer sur SCRATCH c'est un bon langage pour moi ça.
non mais sérieux l'écriture est hyper galère avec le timer il y a 5 lignes et tout alors qu'ils aurait pu mettre un fonction delay(500); au lieu d'ecrire ce bordel.
du coup j'ai mis la fonction dans le connect j'ai pas du me tromper vu qu'il y en a qu'une mais j'y arrive pas.
Le_timer = new QTimer();
Le_timer->setInterval(200);
Le_timer->start();
QObject::connect(Le_timer,SIGNAL(timeout()),this,SLOT(C_cadre::on_BarreDeProgression_valueChanged()));
non, ce n'est pas parce que tu n'y arrives pas qu'il s'agit d'un bordel.
De plus ton problème n'est pas lié à la classe Qtimer mais à la compréhension du mécanisme signal/slot de Qt.
Pour ton problème, une solution à t'a déjà été donnée:
Maluna34 a écrit:
En supposant que ta progress bar ait un range entre 0 et 100 (valeurs par défaut, setRange() pour le changer), il te suffit d'incrémenter la valeur que tu passes à setValue.
Avant de dire que c'est du bordel, renseigne toi sur la programmation orientée évènements. Qt est loin d'être bordélique.
git is great because Linus did it, mercurial is better because he didn't.
QTimer
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
gbl
gbl
git is great because Linus did it, mercurial is better because he didn't.
gbl
gbl
gbl
Eug
git is great because Linus did it, mercurial is better because he didn't.