Q_INVOKABLE void setitem(int index, int index2, QVariant it)
{
itemlist[index][index2] = it;
qDebug() <<"findex:" << index<< " sindex:"<<index2 <<","<<itemlist[index][index2];
}
Q_INVOKABLE QVariant getitem(int index, int index2)
{
qDebug() << itemlist[index][index2];
return itemlist[index][index2];
}
signals:
public slots:
private:
QHash<int, QHash<int, QVariant>> itemlist;
ApplicationWindow {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
ListModel{
id:secondmodels
Component.onCompleted: {
secondmodels.append({'text':"hello" ,'sub':[{'itemtxt':"a"},{'itemtxt':"b"}] });
secondmodels.append({'text':"hello" ,'sub':[{'itemtxt':"a"}] });
}
}
ListView{
model:secondmodels
anchors.fill: parent
delegate: ListView{
property var findex: index
id:mainview
width: parent.width
height: contentHeight
model:secondmodels.get(index).sub
delegate: Text{
id:dele
height:40;
width: parent.width;
text:model.itemtxt +","+mainview.findex
Component.onCompleted: {
Global.setitem(mainview.findex,index,this);
}
MouseArea{
anchors.fill: parent
onClicked: {
_EnumItem()
}
}
}
}
}
function _EnumItem()
{
var flen =secondmodels.count;
for(var s=0;s<flen;s++)
{
var sublen = secondmodels.get(s).sub.count
for(var i=0;i<sublen;i++)
{
var point =Global.getitem(s,i);
console.log("findex:",s," sublen:",i," point:",point)
}
}
}
}