QMLで基本的なドラッグアンドドロップを実装しようとしています。機能的には、それは動作します - 私は文字列をドラッグすることができます。しかし、ドラッグ可能なRectangleオブジェクトをカーソルに追従させることはできません。これは、Rectangleのxとyを、表示されるフレームに適切に設定しますが、マウスで移動するのではなく、静止したままにします。ここに私のコードは次のとおりです。あなたは長方形にアンカーを設定しているためドラッグ可能なアイテムがQMLで動作しない
MouseArea {
id: mouseArea
anchors.fill: parent
drag.target: draggable
}
Rectangle {
id: draggable
height: 18
width: dragText.width + 8
clip: true
color: "#ff333333"
border.width: 2
border.color: "#ffaaaaaa"
visible: false
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
Drag.active: mouseArea.drag.active
Drag.hotSpot.x: 0
Drag.hotSpot.y: 0
Drag.mimeData: { "text/plain": "Teststring" }
Drag.dragType: Drag.Automatic
Drag.onDragStarted: {
visible = true
}
Drag.onDragFinished: {
visible = false
}
Text {
id: dragText
x: 4
text: "Teststring"
font.weight: Font.Bold
color: "#ffffffff"
horizontalAlignment: Text.AlignHCenter
}
}
ここで何をしますか? 'visible:false'で項目をドラッグしようとしますか? – folibis
いいえ、ドラッグを開始するとすぐにアイテムを表示可能に設定します(Drag.onDragStartedを参照)。 – user1765354
目に見えないアイテムをドラッグするとどんな意味がありますか?あなたの目標は何ですか?おそらくそれは別の方法で行うことができます。 – folibis