3. Signaux
Le dernier mécanisme spécifique aux composants réutilisables est la création de signal
(Qt Quick s'occupe de la partie gestionnaire de signal automatiquement). La syntaxe
employée est à la frontière entre celle des propriétés et celle des fonctions JavaScript :
le mot clé nécessaire est signal, suivi du nom du signal. Ensuite, de manière
optionnelle, le signal peut transmettre des arguments, indiqués entre parenthèses : il faut
préciser le type (comme pour une propriété). Ainsi, tous ces exemples sont des
définitions autorisées de signaux :
signal mySignal // Aucun paramètre (parenthèses facultatives)
signal mySignal() // Aucun paramètre
signal mySignal(int x) // Un seul paramètre : x
Le gestionnaire de signal correspondant sera onMySignal : il commence toujours par
on et reprend le nom du signal (en transformant la première lettre en capitale au
besoin). Le code JavaScript associé au gestionnaire aura accès aux variables définies
comme arguments du signal.
L'émission d'un signal se fait en l'appelant comme une fonction, par exemple :
mySignal(4);
Note > À la différence de PyQt, l'émission d'un signal ne se fait pas avec une
méthode emit().
375
Le dernier mécanisme spécifique aux composants réutilisables est la création de signal
(Qt Quick s'occupe de la partie gestionnaire de signal automatiquement). La syntaxe
employée est à la frontière entre celle des propriétés et celle des fonctions JavaScript :
le mot clé nécessaire est signal, suivi du nom du signal. Ensuite, de manière
optionnelle, le signal peut transmettre des arguments, indiqués entre parenthèses : il faut
préciser le type (comme pour une propriété). Ainsi, tous ces exemples sont des
définitions autorisées de signaux :
signal mySignal // Aucun paramètre (parenthèses facultatives)
signal mySignal() // Aucun paramètre
signal mySignal(int x) // Un seul paramètre : x
Le gestionnaire de signal correspondant sera onMySignal : il commence toujours par
on et reprend le nom du signal (en transformant la première lettre en capitale au
besoin). Le code JavaScript associé au gestionnaire aura accès aux variables définies
comme arguments du signal.
L'émission d'un signal se fait en l'appelant comme une fonction, par exemple :
mySignal(4);
Note > À la différence de PyQt, l'émission d'un signal ne se fait pas avec une
méthode emit().
375
