[qt] td2 bmi

Voir le sujet précédent Voir le sujet suivant Aller en bas

[qt] td2 bmi

Message  Florent le Ven 17 Fév 2012, 11:09

Bonjour,

Je suis sur le td2 depuis hier, j'ai terminer l'interface graphique mais je ne comprends pas comment mettre à jour le label bmiresultat et le label corpulence

J'ai créé 3 setteurs qui prennent en compte la modification lorsqu'on change la valeur ou clique (boutons), dans le pdf il est propre à la classe FPrincipale donc comment mettre à jour mon bmi?

Dois-je créé un nouveau bmi, et comment lancer l'action de mise à jour de ces labels?

voici mon code:

Code:

FPrincipale::FPrincipale(QWidget * parent) : QFrame(parent) {

   // init classe bmi
   this->bmi = new MBmi(65,175);

   //pour la mise en page
   v1 = new QVBoxLayout(this);
   niv1 = new QHBoxLayout(this);
   niv2 = new QHBoxLayout(this);
   niv4 = new QHBoxLayout(this);
   niv5 = new QHBoxLayout(this);
   niv6 = new QHBoxLayout(this);

   //poids
   lPoids = new QLabel(tr("Poids"),this);
   spPoids = new QSpinBox(this);
   spPoids->setMinimum(1);
   spPoids->setMaximum(400);
   spPoids->setValue(bmi->getPoids());

   niv1->addWidget(lPoids);
   niv1->addWidget(spPoids);

   //taille
   lTaille = new QLabel(tr("Taille"),this);
   spTaille = new QSpinBox(this);
   spTaille->setMinimum(1);
   spTaille->setMaximum(400);
   spTaille->setValue(bmi->getTaille());

   niv2->addWidget(lTaille);
   niv2->addWidget(spTaille);


   //Sexe
   gbSexe = new QGroupBox(tr("Sexe"), this);

   niv3 = new QVBoxLayout(gbSexe);


   rbHomme = new QRadioButton(tr("Homme"), this);
   rbHomme->setChecked(true);
   niv3->addWidget(rbHomme);

   rbFemme = new QRadioButton(tr("Femme"),this);
   niv3->addWidget(rbFemme);

   gbSexe->setLayout(niv3);


   //Diagnoctic

   lDiag = new QLabel(tr("DIAGNOSTIC"),this);
   niv4->addWidget(lDiag);

   //Label BMI et Corpulence

   lBmi = new QLabel(tr("B.M.I."),this);
   lbCorpulence= new QLabel(tr("CORPULENCE"),this);
   niv5->addWidget(lBmi);
   niv5->addWidget(lbCorpulence);

   //resultats du bmi et corpulence

   lBmiResult = new QLabel(this);
   lBmiResult->setNum(bmi->getBMI());
   lbCorpResult = new QLabel(this);
   niv6->addWidget(lBmiResult);
   niv6->addWidget(lbCorpResult);

   //config de l'affichage
   v1->addLayout(niv1);
   v1->addLayout(niv2);
   v1->addWidget(gbSexe);
   v1->addLayout(niv4);
   v1->addLayout(niv5);
   v1->addLayout(niv6);


   connect (
         spPoids,
         SIGNAL(valueChanged(int)),
         this,
         SLOT(setPoids(int))
         );

   connect (
         spTaille,
         SIGNAL(valueChanged(int)),
         this,
         SLOT(setTaille(int))
         );

   connect(
         rbHomme,
         SIGNAL(clicked(bool)),
         this,
         SLOT(setSexe(true))
         );

   connect(
         rbFemme,
         SIGNAL(clicked(bool)),
         this,
         SLOT(setSexe(false))
         );



}


void FPrincipale::setPoids(int unPoids) {
   poids = unPoids;
}
void FPrincipale::setTaille(int uneTaille) {
   taille = uneTaille;
}

void FPrincipale::setSexe(bool unSexe) {
   sexe = unSexe;
}

Aussi comment faire pour mettre bmi.getCorpulence() dans un label avec un setText il ne veut pas

Merci de votre aide car je suis perdu

Florent

Nombre de messages : 93
Prénom : Florent
Date d'inscription : 02/02/2010

Revenir en haut Aller en bas

Re: [qt] td2 bmi

Message  smb le Ven 17 Fév 2012, 11:51

Florent a écrit:Je suis sur le td2 depuis hier, j'ai terminer l'interface graphique mais je ne comprends pas comment mettre à jour le label bmiresultat et le label corpulence
Chaque setter doit contenir un rafraichissement des QLabel.

Florent a écrit:Aussi comment faire pour mettre bmi.getCorpulence() dans un label avec un setText il ne veut pas
setText attend un QString or getCorpulence() retourne un std::string. Cherche s'il n'existe pas une méthode de QString qui effectue la conversion.


smb

Nombre de messages : 1035
Age : 64
Prénom : Stéphan
Statut : Don de sang, don de vie!
Localisation : Spy
Date d'inscription : 23/01/2007

Revenir en haut Aller en bas

Re: [qt] td2 bmi

Message  Florent le Ven 17 Fév 2012, 12:35

Un grand merci!

Mon programme fonctionne à merveille il me manquait ces quelques petits indices Smile

Il ne me reste plus qu'à modifier les polices, couleur et fond Wink

Florent

Nombre de messages : 93
Prénom : Florent
Date d'inscription : 02/02/2010

Revenir en haut Aller en bas

Re: [qt] td2 bmi

Message  Contenu sponsorisé Aujourd'hui à 15:16


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum