我希望在QAbstractListModel中使用此函数返回的值来创建ListView
@QtCore.Slot(int, result=QtCore.QAbstractListModel)
def subModel(self,index):
print self._items[index]._plm()
return self._items[index]._plm()
以下是我的qml
ListView {
id: progressList
model: tabsModel.subModel(index)
delegate: Component {
Item {
height: 42
width: 0.9*parent.width
Rectangle {
height: parent.height
width: parent.width*0.98
x: 30
y: 60
color: "blue"
Text {
id: file_descr
text: model.transfer.mfilename
wrapMode: Text.WordWrap
font.italic: true
font.pointSize: 12
clip:true
color: "darkgrey"
anchors.verticalCenter: parent.verticalCenter
anchors.margins: 10
}
}
}
}
}
我看到调用了subModel(执行了print语句)。但模型分配不会发生在QML中。我需要调用此函数(subModel)来分配模型,因为它是一个子列表。我哪里错了?
我怀疑有些问题 result = QtCore.QAbstractListModel。 我通过使它成为ProgressListModel(我的实际ListModel类)来玩,但这也不起作用。
答案 0 :(得分:1)
使用“QVariant”而不是QAbstractListModel修复了问题。
@QtCore.Slot(int, result="QVariant")
def subModel(self,index):
print self._items[index]._plm()
return self._items[index]._plm()