Engineering School, 2nd year
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

67 lines
1.3 KiB

/**
* @file ColorWidget.h
* @author Sebastien Fourey
* @date Mon Jan 3 2005
*
* @brief Classe implementant un Widget qui se remplit
* avec une couleur de fond et change celle-ci de maniere
* aleatoire lorsque qu'un slot (une methode) est appelee.
*
*/
#ifndef COLORWIDGET_H
#define COLORWIDGET_H
#include <qwidget.h>
#include <qpen.h>
#include <qcolor.h>
#include <qpainter.h>
/**
* Widget personnalise qui se remplit d'une couleur
* et change celle-ci aleatoirement sur demande.
*
*/
class ColorWidget : public QWidget {
// Pour indiquer a "moc" que cette classe
// possede des signaux et des slots.
Q_OBJECT
public:
ColorWidget():theColor(0) { }
ColorWidget(QWidget *);
~ColorWidget() { delete theColor; }
protected:
/**
* Implemente la reponse du Widget aux
* evenement de rafraichissement.
* @param e L'evenement recu.
*/
void paintEvent(QPaintEvent*);
public slots:
/**
* Slot declanchant le changement de la couleur
* par tirage aleatoire.
*/
void changeColor();
signals:
/**
* Signal emit lorsque la couleur a ete changee.
*
* @param int Composante rouge.
* @param int Composant verte.
* @param int Composante bleue.
*/
void colorChanged(int r, int g, int b);
private:
QColor * theColor;
};
#endif