Mitch, Thank you very much for the clarification.
Best regards, Nuno > On 7 Mar 2023, at 00:28, EXT Mitch Curtis <mitch.cur...@qt.io> wrote: > >> -----Original Message----- >> From: Interest <interest-boun...@qt-project.org >> <mailto:interest-boun...@qt-project.org>> On Behalf Of Nuno >> Santos >> Sent: Monday, 6 March 2023 4:55 PM >> To: Qt Interest <interest@qt-project.org <mailto:interest@qt-project.org>> >> Subject: [Interest] Cannot drag a Pane in Qml even on Qt 6.X >> >> Hi, >> >> It was not possible to drag a Pane on Qt 5.X >> >> But I was almost convinced it was possible to do it on Qt 6.X >> >> But now I have tried again and it seems it is not possible. Or maybe I’m >> doing >> something wrong. >> >> Is there any strong reason a Pane cannot be draggable? > > The parent of the MouseArea is the contentItem, thanks to contentData being > the default property. That's explained here: > > https://doc.qt.io/qt-6/qml-qtquick-controls2-pane.html#details > <https://doc.qt.io/qt-6/qml-qtquick-controls2-pane.html#details> > > You can see what really happens by modifying the code below to set the drag > target to parent again and uncomment the title binding - the contentItem (and > black-bordered rectangle) will move but the Pane itself won't. > > Set the drag target to the pane and it will work: > > import QtQuick > import QtQuick.Controls > > Window { > width: 640 > height: 480 > visible: true > title: "pane.x: " + pane.x + " pane.y: " + pane.y > // title: "pane.contentItem.x: " + pane.contentItem.x + > "pane.contentItem.y: " + pane.contentItem.y > > Item { > width: 200 > height: 200 > > DropArea { > x: 75 > y: 75 > width: 50 > height: 50 > > Rectangle { > anchors.fill: parent > color: parent.containsDrag ? "green" : "gray" > } > } > > Pane { > id: pane > x: 10 > y: 10 > width: 20 > height: 20 > leftPadding: 0 > rightPadding: 0 > topPadding: 0 > bottomPadding: 0 > background: Rectangle { > color: "tomato" > } > > Rectangle { > anchors.fill: parent > color: "transparent" > border.color: "black" > } > > Drag.active: dragArea.drag.active > Drag.hotSpot.x: 10 > Drag.hotSpot.y: 10 > > MouseArea { > id: dragArea > anchors.fill: parent > > drag.target: pane > } > } > } > } > >> Thanks! >> >> Nuno >> >> >> import QtQuick >> import QtQuick.Layouts >> import QtQuick.Controls >> >> Window { >> width: 640 >> height: 480 >> visible: true >> title: qsTr("Hello World") >> >> Item { >> width: 200; height: 200 >> >> DropArea { >> x: 75; y: 75 >> width: 50; height: 50 >> >> Rectangle { >> anchors.fill: parent >> color: parent.containsDrag ? "green" : "gray" >> } >> } >> >> //Rectangle { >> Pane { >> 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 >> } >> } >> } >> } >> _______________________________________________ >> Interest mailing list >> Interest@qt-project.org <mailto:Interest@qt-project.org> >> https://lists.qt-project.org/listinfo/interest >> <https://lists.qt-project.org/listinfo/interest>
_______________________________________________ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest