Cours:CompositionQT

De troyesGEII
Aller à : navigation, rechercher

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