Cours:QT

De troyesGEII
Aller à : navigation, rechercher

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.