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

aucun résumé des modifications
Aucun résumé des modifications
Aucun résumé des modifications
{{Programmation Qt}}
 
Dans le premier exemple du chapitre précédent, cliquer sur le bouton "Hello world!" ne déclenchait aucune action.
Pour qu'un bouton puisse être utile, il faut connecter le signal <tt>clicked()</tt> à un slot ayant la même signature.
 
== Définition ==
Les signaux et slots permettent d'interconnecter des objets Qt entre eux :
* un '''signal''' est une valeur envoyée par un objet (<em>exemple : j'ai appuyé sur le bouton</em>) ;
* un '''slot''' est une fonction réalisant l'action associée à un signal.
 
Tout [[../Classes et objets Qt|objet Qt]] peut définir des signaux, et des slots pour recevoir des signaux en provenance d'autres objets Qt.
 
=== Définir un signal ===
 
 
=== Définir un slot ===
* 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 programme</em>.)
 
=== Connexion ===
----
 
Un signal peut être connecté :
* à plusieurs slots : la méthode slot de l'objet est appelée quand le signal est émis ;
* à plusieurs autres signaux : l’émission du signal provoque également l'émission de ces autres signaux.
 
Un slot peut recevoir plusieurs signaux, c'est à dire qu'on peut connecter le même slot à plusieurs signaux.
==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==