我在学习qml
,quick
和pyqt5
并编写一个小测试脚本。如何设置qml信号的属性类型?
在这个脚本中,我想删除一些东西在我的用户界面上,并打印它的网址。
test.qml
import QtQuick 2.3
Rectangle {
id : root
signal clicked(int x, int y)
signal filedroped(list url)
width: 800
height: 450
MouseArea {
anchors.fill: parent
onClicked: {
parent.clicked(mouseX, mouseY)
}
DropArea {
anchors.fill: parent
onDropped: {
root.filedroped(drop.urls)
}
}
}
}
的医生说:任何QML基本类型除了枚举类型可以作为自定义属性的类型。
但我在signal filedroped
得到了这样的错误:
Invalid signal parameter type: list
而且,我已经试过urllist
和string
。
urllist
失败,string
有效。
我的脚本有什么问题?
编辑
自从我与PyQt的QML使用,我不想使用类型var
。
随着var,我会得到一个QJSValue
对象,而不是python脚本中的基本类型的python。
为什么qml与官方文档有不同之处?文件是否错误?
我不喜欢'var',细节被添加到我的问题中。 – PaleNeutron 2014-11-21 04:57:19