« Programmation Qt/Signaux et slots » : différence entre les versions

aucun résumé des modifications
m (Bot : Ajout de la catégorie Catégorie:Programmation Qt (livre))
Aucun résumé des modifications
les signaux / slots sont des concepts pour envoyer une instruction.:
 
 
* un signal est une valeur envoyée par un objet <em>exemple :j'ai appuyé sur le bouton</em>
* un slot est une action qui s'active quand la valeur de l'objet qui envoie le signal arrive sur l'objet . note l'objet peut aussi prendre la valeur du signal. <em>exemple:quitter le programe</em>
 
----
 
==Explication==
 
Qt rajoute les signaux et les slots
 
par exemple objet 1 envoi signal 1* vers<sup>1</sup> slot 2, objet 2 recoit signal 1 et fait slot 2.on connect signal 1* a slot<sup>1</sup> 2. et objet 2 fait l'action slot 2.
 
==Utilisation==
 
maintenant voici l'exemple:<br />
 
on connecte clicked() a quit()
et quand l'utilisateur clique sur le bouton l'application se ferme.
 
 
===voici connect!===
 
connect() est une méthode statique.
pour appeler une methode statique:
<pre>QObject::connect();</pre>
 
La méthode connect prend 4 arguments :
 
* Un pointeur vers l'objet qui contient le slot récepteur.
* Le nom du slot qui doit s'exécuter lorsque le signal se produit.
 
===exercice , quitter quand on appuie sur le bouton===
 
faisons un code (mafenetre.cpp)
<pre>
}
</pre>
 
<pre>
//MaFenetre.h
#endif
 
</pre>
 
<pre>#include "MaFenetre.h"
}
</pre>
 
faite qmake , make
 
Testons notre code ! une fenêtre s'ouvre
 
 
Rien de bien extraordinaire à première vue. Sauf que... si vous cliquez sur le bouton "Quitter", le programme s'arrête !
 
 
===Utilisation de la méthode connect() pour afficher "A propos"===
 
On peut faire un autre essai pour se faire un peu plus la main si vous voulez. Je vous ai parlé d'un autre slot de QApplication : aboutQt().
 
Je vous ai parlé d'un autre slot de QApplication : aboutQt().
Je vous propose de créer un second bouton qui se chargera d'afficher la fenêtre "A propos de Qt".
 
<br />
---
<br />
---
c'est bon?<br />
voici le code:
<pre>
#endif
 
</pre>
 
<pre>#include "MaFenetre.h"
<pre>
<pre>#include "MaFenetre.h"
MaFenetre::MaFenetre() : QWidget()
}
</pre>
 
lancer l'application<br />
 
Le bouton "Quitter" ferme toujours l'application.<br />
Quant à "A propos", il provoque l'ouverture de la fenêtre "A propos de Qt".
 
==parametre dans le signaux et les slot==
 
La méthode statique connect() est assez originale, vous l'avez vu. Il s'agit justement d'une des particularités de Qt que l'on ne retrouve pas dans les autres bibliothèques.
 
19

modifications