1

Qt5に新しいDropAreaコンポーネントがあることに気づきました。Finder(Mac)からファイルをドラッグしようとしていますが、onEnteredメソッドのみが呼び出されます。

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();
}

私は何かが足りないのですか?

4

3 に答える 3

3

Mac固有の問題のようです(少なくともLinuxでは予想どおりに動作します)。Nokiaへのバグレポートを記入:https ://bugreports.qt.io/browse/QTBUG-27125

于 2012-09-05T10:58:42.097 に答える
2

chebumによって添付されたリンクに記載されているように、この記事の執筆時点では、この機能はどのプラットフォームのQtQuickでもサポートされていません。

将来の読者に知らせるためだけに投稿します。

于 2013-08-09T09:25:43.393 に答える
1

QtQuick 5.2は、外部アプリケーションからのドラッグアンドドロップをサポートしています。例を参照してくださいhttp://qt-project.org/doc/qt-5/qtquick-externaldraganddrop-example.html

于 2014-04-06T11:06:15.143 に答える