Como emitir onDropped em QML drag n drop example?

5

Na documentação do qml, há um drag'n ' drop example :

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
        }
    }
}

Eu adicionei as duas linhas com "onDropped" e "onEntered". Enquanto "onEntered" é acionado arrastando o pequeno retângulo, não consigo fazer o "onDropped" disparar.

O que preciso fazer para ativá-lo?

    
por xubuntix 28.05.2013 / 18:04

1 resposta

7

Aparentemente, uma gota precisa ser gerada explicitamente chamando o método drop () no objeto Arraste

Tente adicionar essa linha dentro do MouseArea , logo acima de drag.target: parent

onReleased: parent.Drag.drop()
    
por David Planella 29.05.2013 / 23:05