QHash存储二级model数据 以及遍历

来源:互联网 发布:伪造历史 知乎 编辑:程序博客网 时间:2024/06/07 08:04
    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)            }        }    }}
0 0