Cours:QT : Différence entre versions
m (→{{Bleu|Modifier la couleur d'un bouton}}) |
|||
| Ligne 1 : | Ligne 1 : | ||
| + | ={{Rouge|Classe}}= | ||
| + | |||
| + | =={{Bleu|attributs}}== | ||
| + | |||
| + | Lorsqu'on définit sa propre classe, il convient d'initialiser les attributs. | ||
| + | Ceci peut-être fait de 2 façons : | ||
| + | |||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | | Valeur initiale fixe || Valeur initiale variable | ||
| + | |- | ||
| + | | | ||
| + | <source lang=cpp> | ||
| + | class MaClasse | ||
| + | { | ||
| + | public : | ||
| + | MaClasse(); // constructeur | ||
| + | |||
| + | private : | ||
| + | // l'attribut x est initialisé à la valeur 5 | ||
| + | int x{5}; | ||
| + | |||
| + | } | ||
| + | </source> | ||
| + | || | ||
| + | <source lang=cpp> | ||
| + | class MaClasse | ||
| + | { | ||
| + | public : | ||
| + | MaClasse(int _x); // constructeur | ||
| + | |||
| + | private : | ||
| + | // l'attribut x sera initialisé par le constructeur | ||
| + | int x; | ||
| + | } | ||
| + | |||
| + | // constructeur avec initialisation de l'attribut x : | ||
| + | MaClasse::MaClasse(int _x) | ||
| + | : x{_x} | ||
| + | { | ||
| + | } | ||
| + | </source> | ||
| + | |||
| + | |- | ||
| + | | | ||
| + | <source lang=cpp> | ||
| + | #include "maclasse.h> | ||
| + | |||
| + | MaClasse objet1; | ||
| + | </source> | ||
| + | || | ||
| + | <source lang=cpp> | ||
| + | #include "maclasse.h> | ||
| + | |||
| + | MaClasse objet2{5}; | ||
| + | </source> | ||
| + | |} | ||
| + | |||
| + | |||
={{Rouge|signal/slot}}= | ={{Rouge|signal/slot}}= | ||
Version du 19 octobre 2017 à 20:37
Sommaire
Classe
attributs
Lorsqu'on définit sa propre classe, il convient d'initialiser les attributs. Ceci peut-être fait de 2 façons :
| Valeur initiale fixe | Valeur initiale variable |
class MaClasse
{
public :
MaClasse(); // constructeur
private :
// l'attribut x est initialisé à la valeur 5
int x{5};
}
|
class MaClasse
{
public :
MaClasse(int _x); // constructeur
private :
// l'attribut x sera initialisé par le constructeur
int x;
}
// constructeur avec initialisation de l'attribut x :
MaClasse::MaClasse(int _x)
: x{_x}
{
}
|
#include "maclasse.h>
MaClasse objet1;
|
#include "maclasse.h>
MaClasse objet2{5};
|
signal/slot
La page signal&slots de la documentation QT peut être intéressante à consulter.
relier signal et slot
On utilise la fonction {Rouge|connect}} :
connect( objet émetteur, signal émis , objet récepteur, signal reçu );
ex :
connect( ui->monBouton, SIGNAL( clicked() ), this, SLOT( monAction() ));
Attention, il faut utiliser l'adresse de l'objet, donc si vous n'utilisez pas de pointeur :
&monObjet
....
Lampe maLampe;
....
connect( ui->monBouton, SIGNAL( clicked() ), &maLampe , SLOT( monAction() ));
graphisme
Modifier la couleur d'un bouton
On utilise la méthode setStyleSheet :
monBouton.setStyleSheet("background-color: black;");
Dans une application graphique QT classique, l'objet ui représente le "conteneur" des widgets. On aura donc :
ui->myPushButton->setStyleSheet("background-color: red;");
La liste des couleurs prédéfinies se trouve sur le site de documentation de QT.