Quantcast
Channel: Qt DevNet forums: Qt Quick 1283365070**
Viewing all articles
Browse latest Browse all 4972

Drag and Drop + MIME Data

$
0
0
Hello there, my goal is to implement a Drag’n‘Drop mechanism as part of a bigger application. Basically I use a QQuickWidget to display a Flickable which is filled by a Repeater with multiple items. Some of these items need to interact with each other by dragging one of them onto another. This should trigger a C++ method which needs data about the source of the drag. The best approach would be to put the relevant data into the DragEvent as MIME Data right? Now the problem is that my DropAreas accept the drops but there is no data in the DragEvent that is available in the onDropped() slot. This is the code for the items that need to be dragged: Movable.qml import QtQuick 2.0   Location {     x: StationPosXCoord     y: StationPosYCoord     z: 10       locationColor: "#fed505"     Behavior on y {         NumberAnimation { }     }       Behavior on x {         NumberAnimation { }     }       Drag.active: dragArea.drag.active     Drag.proposedAction: Qt.CopyAction     Drag.hotSpot: Qt.point(dragArea.mouseX, dragArea.mouseY)     Drag.mimeData: { "text/plain": "asdf" }       MouseArea {         id: dragArea         anchors.fill: parent         acceptedButtons: Qt.LeftButton         drag.target: parent         drag.filterChildren: true         onReleased: drag.target.Drag.drop()     } } And this is some of the code that uses the DropArea: Location.qml import QtQuick 2.0   Location {       Rectangle {         anchors.fill: parent         color: locationColor         border.color: "black"         border.width: borderWidth           opacity: dropArea.containsDrag ? 0.5 : 1           DropArea {             id: dropArea             anchors.fill: parent               onEntered: print("entered");             onExited: print("exited");             onDropped: {                 drop.acceptProposedAction()                 print("dropped")                 print(drop.text)             }         } The opacity of the Rectangle that contains the DropArea is reacting properly and also the onDropped() slot is called. The weird thing is that the attached properties like “proposedAction” and “hotSpot” behave as expected, but the “mimeData” one does not since the output of drop.text is empty. Am I missing something or doing something wrong? Any help is much appreciated! Cheers, Tobi

Viewing all articles
Browse latest Browse all 4972

Trending Articles