无法将 QList<QUrl> 分配给 QString
Unable to assign QList<QUrl> to QString
我遇到了这个错误:
Unable to assign QList<QUrl> to QString
当尝试直接分配 drop.urls
的结果(从 DropArea
的 onDropped
处理程序获得)到标签的 text
属性 在 Python.
基于this doc,我尝试了Qt.resolvedUrl
(将类型转换为字符串)如下代码所示。但是,它会产生一个空的文本标签。我正在使用的 url 以“file:///”开头。
我做错了什么?
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 的上下文中提出过,我还没有找到任何此类现有问题从昨天开始搜索后。
urls 是 url 的列表,因此您必须迭代和连接:
onDropped: {
console.log("You dropped " + drop.urls)
var str = ""
for(var i in drop.urls){
var url = drop.urls[i]
str += Qt.resolvedUrl(url)
}
attachments = str
}
我遇到了这个错误:
Unable to assign QList<QUrl> to QString
当尝试直接分配 drop.urls
的结果(从 DropArea
的 onDropped
处理程序获得)到标签的 text
属性 在 Python.
基于this doc,我尝试了Qt.resolvedUrl
(将类型转换为字符串)如下代码所示。但是,它会产生一个空的文本标签。我正在使用的 url 以“file:///”开头。
我做错了什么?
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 的上下文中提出过,我还没有找到任何此类现有问题从昨天开始搜索后。
urls 是 url 的列表,因此您必须迭代和连接:
onDropped: {
console.log("You dropped " + drop.urls)
var str = ""
for(var i in drop.urls){
var url = drop.urls[i]
str += Qt.resolvedUrl(url)
}
attachments = str
}