Cours:CompositionQT : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
 
Ligne 54 : Ligne 54 :
 
}
 
}
 
</source>
 
</source>
 +
 +
=Travail=
 +
 +
*Créer une classe controleur
 +
*avec les attributs :
 +
**l1,l2,l3,l4 : de type Lampe
 +
**nbLampeAllumees : de type int
 +
*avec un slot :
 +
**augmenter : slot qui sera appelé à chaque appui sur le bouton

Version actuelle datée du 4 décembre 2018 à 12:07

Contrôleur de lampes

On souhaite gérer la puissance d'éclairement à l'aide de plusieurs lampes.

On dispose d'un bouton, et de 4 lampes.

A chaque appui sur le bouton, on allumera une lampe supplémentaire, puis lorsque toutes les lampes sont allumées, l'appui suivant les éteint toutes.


Au besoin, vous partirez de la classe lampe suivante :

class Lampe : public QObject
{
    Q_OBJECT
public:
    Lampe(QObject *parent = 0);

private :
    int etat;

signals:
    void nouvelEtat(int etat);
public slots:
    void allumer();
    void eteindre();
    void changer();
};
Lampe::Lampe(QObject *parent) : QObject(parent)
{
    etat = 0;
}

void Lampe::allumer()
{
    etat = 1 ;
    emit nouvelEtat(etat);
}

void Lampe::eteindre()
{
    etat = 0 ;
    emit nouvelEtat(etat);
}

void Lampe::changer()
{
    etat = ! etat ;
    emit nouvelEtat(etat);
}

Travail

  • Créer une classe controleur
  • avec les attributs :
    • l1,l2,l3,l4 : de type Lampe
    • nbLampeAllumees : de type int
  • avec un slot :
    • augmenter : slot qui sera appelé à chaque appui sur le bouton