Qt 无法分配QList<;QUrl>;扭动
我遇到了以下错误:Qt 无法分配QList<;QUrl>;扭动,qt,drag-and-drop,qml,qtquick2,Qt,Drag And Drop,Qml,Qtquick2,我遇到了以下错误: Unable to assign QList<QUrl> to QString 将URL分配给字符串似乎是一个很明显的问题,但是如果已经在Python和Qt Quick的上下文中提出了这个问题,我从昨天开始搜索后就没有发现任何这样的问题。URL是URL列表,因此您必须迭代和连接: onDropped: { console.log("You dropped " + drop.urls) var str = "" for(var i in d
Unable to assign QList<QUrl> to QString
将URL分配给字符串似乎是一个很明显的问题,但是如果已经在Python和Qt Quick的上下文中提出了这个问题,我从昨天开始搜索后就没有发现任何这样的问题。URL是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
}
非常感谢。在哪里可以找到有关类型
URL
的文档?我肯定它就在那里(可能很多地方),但我没有看到它。我昨天或今天唯一找到的东西是url
(非数组)在这里:。(我可能愚蠢地忽略了一些明显的文档。)@MountainX for Monica您是指关于“drop”元素的“url”属性的文档,还是指数据类型“url”?在上面的代码中,for循环只执行一次。第一个log语句将显示多个逗号分隔的项,但循环中的日志只执行一个。我想for循环需要将逗号分隔的列表识别为多个项目的列表,或者在循环之前需要将drop.url转换为字符串数组。你有什么建议吗?@MountainX对莫妮卡来说,嗯,你假设了很多事情。for循环无法识别逗号,因为这不是它们的任务。我的观点是(据我所知)代码不起作用。for循环只执行一次,即使drop.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
}