web-dev-qa-db-fra.com

Comment émettre sur Dropped in QML exemple, glisser-déposer?

Dans la documentation qml, il y a un exemple avec le glisser-déposer :

import QtQuick 2.0

Item {
    width: 200; height: 200

    DropArea {
        x: 75; y: 75
        width: 50; height: 50

        onDropped: console.log("dropped")
        onEntered: console.log("entered")

        Rectangle {
            anchors.fill: parent
            color: "green"

            visible: parent.containsDrag
        }
    }

    Rectangle {
        x: 10; y: 10
        width: 20; height: 20
        color: "red"

        Drag.active: dragArea.drag.active
        Drag.hotSpot.x: 10
        Drag.hotSpot.y: 10

        MouseArea {
            id: dragArea
            anchors.fill: parent

            drag.target: parent
        }
    }
}

J'ai ajouté les deux lignes avec "onDropped" et "onEntered". Alors que "onEntered" est déclenché en faisant glisser le petit rectangle, je ne peux pas faire déclencher le "onDropped".

Que dois-je faire pour le déclencher?

6
xubuntix

Apparemment, un dépôt doit être généré explicitement en appelant la méthode drop () sur l'objet glisser

Essayez d'ajouter cette ligne à l'intérieur de MouseArea, juste au-dessus de drag.target: parent

onReleased: parent.Drag.drop()
10
David Planella