mieux utiliser le système d'ancres défini par Qt Quick : cette propriété indique que
le centre du composant Text devra correspondre au centre de son composant parent
(ici, Rectangle).
L'un des grands avantages de Qt Quick est que cette simple définition s'assure que
le texte restera centré dans la fenêtre, peu importe son redimensionnement.
Figure 13.8 : Premier exemple : un rectangle et du texte forment déjà une hiérarchie
Note > Tout en haut de la hiérarchie Qt Quick des composants affichés à l'écran, on
retrouve deux composants. L'un d'entre eux est Item, qui ne définit rien d'autre que
les propriétés de base nécessaires à tout affichage (comme les coordonnées et les
dimensions). L'autre est Component, équivalent à un document QML instanciable (un
fichier QML réutilisable, défini avec les techniques exposées au chapitre Créer un
composant réutilisable).
Pour entrer dans les détails techniques, tant Item que Component héritent de
QtObject, à rapprocher de la classe QObject en Python. Ses responsabilités se
limitent aux liens entre propriétés (voir plus bas). Cependant, QtObject est rarement
utile dans des applications, mais peut servir à créer une nouvelle hiérarchie de
composants qui n'ont aucune apparence graphique.
Il est possible d'aller un peu plus loin et d'associer une action à la fenêtre ainsi créée :
lors d'un clic n'importe où, fermer la fenêtre. Pour réagir à un clic, le composant de bas
niveau à utiliser est MouseArea. Il dispose d'une "propriété" un peu spéciale :
onClicked. En réalité, il ne s'agit pas d'une propriété, mais d'un gestionnaire de
signal : quand un événement se passe au niveau du composant (ici, quand il reçoit un
clic), le code associé à ce gestionnaire de signal est exécuté. Ce code est écrit en
JavaScript et respecte la syntaxe de ce langage, présentée au chapitre Présentation de
JavaScript.
Même si l'apparence ne change pas d'un iota par rapport à l'exemple précédent, la
différence est que cette application a une certaine interactivité avec l'utilisateur, même
275
Précédent

- 276/494

Suivant