1. Définition d'un état
Les feux de signalisation représentent un exemple typique d'application des états. Nous
nous inspirerons ici des feux réglementant les passages à niveau en Belgique : un feu
blanc clignote tant que les voitures peuvent passer, deux feux rouges clignotent
alternativement quand un train est à l'approche. L'objectif sera d'afficher les trois
parties du feu selon que les voitures peuvent passer ou non ; le passage d'un mode à
l'autre se fera par un clic sur l'interface.
Figure 22.2 : Signalisation d'un passage à niveau
L'implémentation est relativement simple, en positionnant trois cercles. Cependant,
Qt Quick ne dispose pas d'un composant de cercle : l'astuce d'implémentation est
d'utiliser des rectangles avec des bords arrondis grâce à la propriété radius —
suffisamment arrondis, ils finissent en cercles. Autre point nouveau : pour définir
l'arrière-plan, nous utiliserons le composant ApplicationWindowStyle (comme son nom
l'indique, il définit le style d'un composant ApplicationWindow).
Note > Le code source de cet exemple et des suivants est disponible dans le projet
etats. Ce premier exemple est dans le dossier feu-base .
import QtQuick 2.5
import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4
ApplicationWindow {
417
Les feux de signalisation représentent un exemple typique d'application des états. Nous
nous inspirerons ici des feux réglementant les passages à niveau en Belgique : un feu
blanc clignote tant que les voitures peuvent passer, deux feux rouges clignotent
alternativement quand un train est à l'approche. L'objectif sera d'afficher les trois
parties du feu selon que les voitures peuvent passer ou non ; le passage d'un mode à
l'autre se fera par un clic sur l'interface.
Figure 22.2 : Signalisation d'un passage à niveau
L'implémentation est relativement simple, en positionnant trois cercles. Cependant,
Qt Quick ne dispose pas d'un composant de cercle : l'astuce d'implémentation est
d'utiliser des rectangles avec des bords arrondis grâce à la propriété radius —
suffisamment arrondis, ils finissent en cercles. Autre point nouveau : pour définir
l'arrière-plan, nous utiliserons le composant ApplicationWindowStyle (comme son nom
l'indique, il définit le style d'un composant ApplicationWindow).
Note > Le code source de cet exemple et des suivants est disponible dans le projet
etats. Ce premier exemple est dans le dossier feu-base .
import QtQuick 2.5
import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4
ApplicationWindow {
417
