你好下, 我在Windows上使用Qt 5.2.1 for Android
我已经完成了Qt提供的不同拖放示例,但没有解决我的问题,虽然我发现This Example通过拖放复制文本,但我想复制整个项目。
注意:我不想在应用程序内部进行外部复制。
谢谢
答案 0 :(得分:1)
是一个noop,这只是一个想法,
让我们说你有和项目:
// DraggedItem.qml
import QtQuick 2.0
Item {
id:draggedItem
property string itemText
property string imageSource
Image {
id: img
source: imageSource
}
Text {
id: txt
text: qsTr("text")
}
}
然后你就可以得到这样的掉落区域:
import QtQuick 2.0
Item {
id:dropItem
DropArea {
id: dropArea
anchors.fill: parent
onDropped: {
if (drop.source.parent !== draggedItem) {
// Create new Item
var newItem = createNewItem();
// Copy the source item properties into the new one
newItem.width = parent.width;
newItem.height = drop.source.height;
newItem.itemText = drop.source.itemText
newItem.imageSource = drop.source.imageSource
// destroy the source
drop.source.destroy();
}
}
}
function createNewItem() {
var component = Qt.createComponent("DraggedItem.qml");
if (component.status === Component.Ready)
{
var newItem = component.createObject(parent, {"x":0,
"y":0});
if (newItem === null)
console.log("Error creating new Item");
}
return newItem
}
}
此代码未经过测试。应该有更好的方法来做到这一点