Probleme variables Qt C++
Fermé
fredrizk
-
6 juil. 2011 à 09:55
fredrizk Messages postés 12 Date d'inscription mercredi 6 juillet 2011 Statut Membre Dernière intervention 1 août 2011 - 6 juil. 2011 à 11:39
fredrizk Messages postés 12 Date d'inscription mercredi 6 juillet 2011 Statut Membre Dernière intervention 1 août 2011 - 6 juil. 2011 à 11:39
A voir également:
- Probleme variables Qt C++
- Qt sdk - Télécharger - Langages
- Qt tab bar - Télécharger - Personnalisation
- Bash addition 2 variables ✓ - Forum Shell
- [C++/QT] probleme erreur de segmentation ✓ - Forum C++
- Javascript somme de deux variables ✓ - Forum Javascript
4 réponses
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
6 juil. 2011 à 10:33
6 juil. 2011 à 10:33
Hum... Je pense que tu n'as pas bien compris comment fonctionne Qt ou le C++.
il faut que tu fasses une fonction qui mette à jour tes variables, puis faire une connection entre le signal de changement de valeur (des psinbox) et la fonction modifiant les valeurs de la classe.
il faut que tu fasses une fonction qui mette à jour tes variables, puis faire une connection entre le signal de changement de valeur (des psinbox) et la fonction modifiant les valeurs de la classe.
fredrizk
Messages postés
12
Date d'inscription
mercredi 6 juillet 2011
Statut
Membre
Dernière intervention
1 août 2011
6 juil. 2011 à 10:41
6 juil. 2011 à 10:41
Bonjour Char Snipeur
Serait-il possible de me faire un petit exemple car je dois avouer que je suis complètement perdu.
Je te remercie d'avance
Serait-il possible de me faire un petit exemple car je dois avouer que je suis complètement perdu.
Je te remercie d'avance
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
Modifié par Char Snipeur le 6/07/2011 à 11:34
Modifié par Char Snipeur le 6/07/2011 à 11:34
double Window::CoteDebit() { spinBoxesGroup = new QGroupBox(tr("Cotes et Débit : ")); QLabel *retenue = new QLabel(tr("Entrer la cote de la retenue précedente : ")); QDoubleSpinBox *SpinBox = new QDoubleSpinBox; SpinBox->setRange(270, 325); SpinBox->setSingleStep(0.01); SpinBox->setValue(0); valcote = SpinBox->value(); QLabel *retenueactuelle = new QLabel(tr("Entrer la cote de la retenue actuelle : ")); QDoubleSpinBox *retactu = new QDoubleSpinBox; retactu->setRange(270, 325); retactu->setSingleStep(0.01); retactu->setValue(0); valcote1 = retactu->value(); QLabel *debitsortant = new QLabel(tr("Entrer la valeur du débit sortant actuel : ")); QDoubleSpinBox *debsor = new QDoubleSpinBox; debsor->setRange(0, 4000); debsor->setSingleStep(0.01); debsor->setValue(0); valdebit = debsor->value(); QGridLayout *spinBoxLayout = new QGridLayout; spinBoxLayout->addWidget(retenue,0,0); spinBoxLayout->addWidget(SpinBox,1,0); spinBoxLayout->addWidget(retenueactuelle,3,0); spinBoxLayout->addWidget(retactu,4,0); spinBoxLayout->addWidget(debitsortant,6,0); spinBoxLayout->addWidget(debsor,7,0); spinBoxesGroup->setLayout(spinBoxLayout); connect(SpinBox,SIGNAL(changed(double)),this,SLOT(maj()) ); connect(retactu,SIGNAL(changed(double)),this,SLOT(maj()) ); ... return 0; } ////////////////////////// fonction à mettre dans les SLOT. void Window::maj() { valcote = SpinBox->value(); valcote1 = retactu->value(); valdebit = debsor->value(); Ivalcote=valcote; Ivalcote1=valcote1; Ivaldebit=valdebit; }
voilà ce que ça donne par exemple. Seulement, ça ne fonctionnera pas car tu utilise des variables temporaire pour te objet de type spinbox.
Une solution est de faire des fonction maj_SpinBox(double) en récupérant la valeur émisse par le signal.
connect(SpinBox,SIGNAL(changed(double)),this,SLOT(maj_SpinBox(double)) ); ... void maj_SpinBox(double a) { valcote=a; }
La vrai soumission c'est quand les esclaves s'inquiètent du cours du coton.
Char Snipeur
fredrizk
Messages postés
12
Date d'inscription
mercredi 6 juillet 2011
Statut
Membre
Dernière intervention
1 août 2011
6 juil. 2011 à 11:39
6 juil. 2011 à 11:39
Je te remercie pour ton aide. je vais essayer d'appliquer ton code en espérant que ça marche :).