Figure 13.12 : Interface identique avec des ancres
3.4. Réactions au clic sur un bouton
Nous pouvons très facilement ajouter à cette interface des réactions à des stimuli plus
poussés, par exemple avec des boutons pour augmenter ou diminuer la taille du texte
affiché. Ces boutons sont aussi disponibles dans Qt Quick Controls.
Conceptuellement, la réaction de l'application est identique : à un moment donné, un
signal est émis (ici, l'appui sur un bouton ou, dans la section précédente, le changement
d'une valeur), un certain bout de code est exécuté (qu'il effectue directement une action
ou, plus indirectement, qu'il change la valeur d'une propriété par réévaluation de
l'expression). Le code exécuté lors de l'émission du signal est indiqué au niveau d'un
gestionnaire de signal, ici onClicked, qui a la même forme qu'une propriété, sauf que
la valeur associée est un morceau de code JavaScript.
Note > Cet exemple est disponible dans le dossier boutons .
import QtQuick 2.5
import QtQuick.Controls 1.4
ApplicationWindow {
// …
Button {
id: increaseButton
text: qsTr("Increase size")
// …
onClicked: text.font.pointSize += 1
283
3.4. Réactions au clic sur un bouton
Nous pouvons très facilement ajouter à cette interface des réactions à des stimuli plus
poussés, par exemple avec des boutons pour augmenter ou diminuer la taille du texte
affiché. Ces boutons sont aussi disponibles dans Qt Quick Controls.
Conceptuellement, la réaction de l'application est identique : à un moment donné, un
signal est émis (ici, l'appui sur un bouton ou, dans la section précédente, le changement
d'une valeur), un certain bout de code est exécuté (qu'il effectue directement une action
ou, plus indirectement, qu'il change la valeur d'une propriété par réévaluation de
l'expression). Le code exécuté lors de l'émission du signal est indiqué au niveau d'un
gestionnaire de signal, ici onClicked, qui a la même forme qu'une propriété, sauf que
la valeur associée est un morceau de code JavaScript.
Note > Cet exemple est disponible dans le dossier boutons .
import QtQuick 2.5
import QtQuick.Controls 1.4
ApplicationWindow {
// …
Button {
id: increaseButton
text: qsTr("Increase size")
// …
onClicked: text.font.pointSize += 1
283
