我遇到了这个错误:
Unable to assign QList<QUrl> to QString
当尝试在Python中将从“DropArea”的“onDropped”处理程序获得的“drop.urls”结果直接分配给Label的“text”属性时。根据this doc,我尝试了
Qt.resolvedUrl
(将类型转换为字符串),如下面的代码所示。然而,它导致文本标签为空。我正在使用以“file:///”开头的URL。我做错了什么?import QtQuick.Window 2.2
import QtQuick 2.2
import QtQuick.Controls 2.14
Window {
id: root
visible: true
width: 640
height: 480
title: "Drop Test"
property var attachments: "empty"
DropArea {
id: dropArea;
anchors.fill: parent
onEntered: {
root.color = "gray";
console.log("You entered drop area")
drag.accept (Qt.LinkAction);
}
onDropped: {
console.log("You dropped " + drop.urls)
attachments = Qt.resolvedUrl(drop.urls)
}
}
Label {
id: mLableId
text: attachments
}
}
给一个字符串分配一个URL似乎是一个很明显的问题,但如果它已经在Python和Qt Quick的上下文中被问过了,那么我在昨天搜索后没有找到任何这样的现有问题。
url
(非数组)的,链接在这里:https://doc.qt.io/qt-5/qml-url.html。(我可能愚蠢地忽略了一些明显的文档。) - MountainXconsole.log("You dropped " + drop.urls)
的输出是什么? - eyllanesc