Concepts - Coordonnées visuelles en Qt Quick
Coordonnées de l'élément
Le système de coordonnées visuelles utilisé par défaut dans Qt Quick est le système de coordonnées de l'élément. Il s'agit d'un système de coordonnées cartésiennes avec (0,0) dans le coin supérieur gauche de l'élément. L'axe des x croît vers la droite et l'axe des y croît vers le bas, de sorte que le coin inférieur droit de l'élément se trouve aux coordonnées (largeur, hauteur).
La position d'un élément individuel est spécifiée en fonction du système de coordonnées de son parent. Cela signifie que la lecture des valeurs x,y d'éléments non apparentés peut nécessiter une conversion pour les ramener dans le même système de coordonnées. Les coordonnées de la scène sont souvent utilisées comme système de coordonnées intermédiaire dans ce cas.
Coordonnées de la scène
Les coordonnées de la scène sont les coordonnées où (0,0) correspond au coin supérieur gauche de la fenêtre dans laquelle le rendu de la scène est en cours. Les coordonnées de la scène sont généralement les mêmes que les coordonnées de l'élément racine de la fenêtre.
Vous pouvez convertir les coordonnées d'un élément en coordonnées de scène en utilisant les fonctions de l'élément dont le système de coordonnées vous intéresse. Voir Item::mapFromItem et Item::mapToItem pour la conversion en coordonnées de scène ou en coordonnées d'un autre élément.
Exemple pratique
Le code QML ci-dessous crée un arrangement de carrés, avec des points ajoutés pour l'identification des points :
Rectangle {
width: 200
height: 200
color: "red"
Rectangle {
x: 100
y: 100
width: 100
height: 100
color: "blue"
Rectangle {
width: 50
height: 50
color: "green"
}
}
}
Dans cette image, le point noir est positionné à (0,0) dans les coordonnées de l'élément du rectangle rouge. Si le rectangle rouge était l'élément racine de la scène, le point noir serait également positionné à (0,0) dans les coordonnées de la scène.
Le rectangle bleu est positionné au point blanc (100,100) par rapport au coin supérieur gauche du rectangle rouge.
Le rectangle vert n'a pas de x,y spécifié, sa position est donc par défaut (0,0). Comme il se trouve à (0,0) dans les coordonnées de son parent, le rectangle bleu, il est positionné dans le coin supérieur gauche de ce rectangle. Il s'agit du même point que le point blanc situé à (100,100) dans les coordonnées du rectangle rouge.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.