0
ドラッグ可能な項目を動的に作成することによってアイテムをドロップ領域にドラッグするツリービューがあります。私はそれが空になるドロップイベント(drop.textフィールド)からMIMEデータを取得しようとすると、私はmimedata動的なqmlオブジェクトのMimedataは常に空です
function createItem(parentItem)
{
if (itemComponent.status === Component.Ready && draggedItem == null)
{
draggedItem = itemComponent.createObject(
parentItem,
{
"x": positionInParent.x,
"y": positionInParent.y,
"baseColor":Qt.lighter("red", 1.5),
"copyable":false,
visible: true
}
);
draggedItem.Drag.mimeData = { "text/plain": "Hello!" };
draggedItem.Drag.supportedActions = Qt.CopyAction;
draggedItem.Drag.dragType = Drag.Automatic;
draggedItem.Drag.start();
}
else if (itemComponent.status === Component.Error) {
draggedItem = null;
console.log("error creating component");
console.log(itemComponent.errorString());
}
}
を渡すことはできませんを除いてすべてが動作します。
DropArea
{
height:parent.height
width:parent.width
onDropped: {
drop.acceptProposedAction()
var txt = drop.text; // Empty!!!
console.log("dropped into dest")
}
onEntered: {
console.log("entered dest")
}
}
「DragEvent.formats」が必要なのでしょうか? docs: 'このプロパティは、ドラッグデータに含まれているMIMEタイプのリストを保持しています。 ' – folibis
@folibis私はdraggedItem.Drag.mimeData = {" text/plain ":" Hello! " }; – amplifier