Qt QML DropArea接受外部拖动

Qt QML DropArea接受外部拖动,qt,qml,qt5,Qt,Qml,Qt5,我注意到Qt5中有一个新的DropArea组件。我试图从Finder(Mac)中拖动一个文件,但只调用了onenterned方法 import QtQuick 2.0 Rectangle { id: background; color: "white"; width: 300; height: 300; DropArea { id: dropArea; anchors.fill: parent; onEn

我注意到Qt5中有一个新的DropArea组件。我试图从Finder(Mac)中拖动一个文件,但只调用了onenterned方法

import QtQuick 2.0

Rectangle {
    id: background;
    color: "white";
    width: 300;
    height: 300;

    DropArea {
        id: dropArea;
        anchors.fill: parent;
        onEntered: {
            background.color = "gray";
            drag.accept (Qt.CopyAction);
            console.log("onEntered");
        }
        onDropped: {
            console.log ("onDropped");
        }
        onExited: {
            bckground.color = "white";
            console.log ("onExited");
        }
    }
}
下面是窗口创建代码:

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QQuickView qmlView;
    qmlView.setGeometry(0, 200, 600, 400);
    qmlView.setResizeMode (QQuickView::SizeRootObjectToView);
    qmlView.setSource(QUrl::fromLocalFile("/Users/ivann/Projects/QtGuiTestApp/testView.qml"));
    qmlView.show();

    return a.exec();
}

我遗漏了什么吗?

似乎是一个特定于Mac的问题(至少在Linux上是如此)。向诺基亚提交了一份错误报告:

似乎是Mac特有的问题(至少在Linux上是如此)。向诺基亚填写错误报告:

如chebum所附链接所述,撰写本文时,任何平台上的QtQuick均不支持该功能


仅发布给未来读者。

如chebum所附链接所述,在撰写本文时,任何平台上的QtQuick都不支持该功能


仅用于向未来读者发布。QtQuick 5.2支持从外部应用程序拖放。请参见示例

QtQuick 5.2支持从外部应用程序拖放。看看这个例子吧

也许它对你有帮助@aleks_Misuk谢谢你。不幸的是,这是关于本地拖放的。也许它对你有帮助@aleks_Misuk谢谢。不幸的是,这是关于本地拖放的。