QML à l'Écran des Coordonnées du Composant
Si j'ai un simple, autonome QML application, je peux obtenir l'écran des coordonnées absolues d'un composant en disant
Component.onCompeted: {
var l = myThing.mapToItem(null, 0, 0)
console.log("X: " + l.x + " y: " + l.y)
}
où myThing est l'id de tout autre composant dans le fichier. Toutefois, si ce fichier est incorporé dans un autre fichier QML et le composant qu'il définit est réutilisé, je n'ai pas les coordonnées sur l'écran; - je obtenir les coordonnées locales par rapport à la composante où les déclarations ci-dessus sont exécutées.
Comment puis-je obtenir l'écran des coordonnées absolues des éléments?
OriginalL'auteur Paul Carlisle | 2014-01-30
Vous devez vous connecter pour publier un commentaire.
où
myThing.parent
est votre principal compontent.Vous avez raison. Je l'ai testé avec
myThing.parent
qui fonctionne dans le cas où le parent QML élément remplit la totalité de la fenêtre. Vous pouvez également utilisermyThing.parent.parent
si c'est votre élément racine. Pas très agréable et facile à gérer, mais il fonctionne.Il n'est existe pas moyen d'accéder à différents QMLs à l'aide de
import
.import "../Path/To/Parent/" as ParentOfMyThing
Puis, devraient être disponibles suivant:ParentOfMyThing.someId
La composante principale peut être fait la une des dynamiques à l'aide de portée, il suffit d'avoir un
property Window vroot : id_root
, puisvroot
sera disponible pour l'ensemble de l'application.Item
s doit avoir unemapToGlobal
méthode. De plus, vous pouvez toujours accéder au niveau supérieurItem
avecApplicationWindow.contentItem
si vous utilisezApplicationWindow
créer votre fenêtre. Je pense queWindow
est également une propriété attachée à obtenir la Fenêtre de votre objet est instancié. (Qui est, de nos jours. Peut être différent pour 2014 Qt)OriginalL'auteur Simon Warta
Voici un rapide et très sale solution. Remarque: Ce n'a été que légèrement testé mais jusqu'à présent, semble fonctionner. Je ne recommande pas l'utilisation de ce dans les applications de production, comme c'est un hack et susceptibles de se briser à un certain point.
OriginalL'auteur Andrew