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


    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)
            }

        }

    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值