itemCreation.js Example Filedeclarative/toys/dynamicscene/qml/itemCreation.jsvar itemComponent = null; var draggedItem = null; var startingMouse; var posnInWindow; function startDrag(mouse) { posnInWindow = paletteItem.mapToItem(window, 0, 0); startingMouse = { x: mouse.x, y: mouse.y } loadComponent(); } //Creation is split into two functions due to an asynchronous wait while //possible external files are loaded. function loadComponent() { if (itemComponent != null) { // component has been previously loaded createItem(); return; } itemComponent = Qt.createComponent(paletteItem.componentFile); if (itemComponent.status == Component.Loading) //Depending on the content, it can be ready or error immediately component.statusChanged.connect(createItem); else createItem(); } function createItem() { if (itemComponent.status == Component.Ready && draggedItem == null) { draggedItem = itemComponent.createObject(window, {"image": paletteItem.image, "x": posnInWindow.x, "y": posnInWindow.y, "z": 3}); // make sure created item is above the ground layer } else if (itemComponent.status == Component.Error) { draggedItem = null; console.log("error creating component"); console.log(itemComponent.errorString()); } } function continueDrag(mouse) { if (draggedItem == null) return; draggedItem.x = mouse.x + posnInWindow.x - startingMouse.x; draggedItem.y = mouse.y + posnInWindow.y - startingMouse.y; } function endDrag(mouse) { if (draggedItem == null) return; if (draggedItem.x + draggedItem.width > toolbox.x) { //Don't drop it in the toolbox draggedItem.destroy(); draggedItem = null; } else { draggedItem.created = true; draggedItem = null; } } |
Publicité
Best OfActualités les plus luesSemaine
Mois
Année
Le blog Digia au hasard![]() Créer des applications avec un style Metro avec Qt, exemples en QML et C++, un article de Digia Qt traduit par Thibaut CuvelierLe blog Digia est l'endroit privilégié pour la communication sur l'édition commerciale de Qt, où des réponses publiques sont apportées aux questions les plus posées au support. Lire l'article.
CommunautéRessources
Liens utilesContact
Qt dans le magazine |
Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. | Qt 4.7 | |
Copyright © 2012 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD. | ||
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter contacter par email ou par MP ! |
Copyright © 2000-2012 - www.developpez.com