QVariantList和QVariantMap的遍历

本文介绍Qt中QVariantList与QVariantMap的数据结构遍历方法,包括如何遍历QVariantList并将数据拼接到字符串中显示,以及如何遍历QVariantMap并打印其键值对。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

QVariantList 的遍历

    QVariantList getRes=map_arr["content"].toList(); //将map的"content"转为list
    QString editStr1,esitStr2;
    editStr="";
    for(auto iter:getRes){                           //字符串拼接并显示到edittext上
       editStr1=iter.toMap()["name"].toString();
       editStr+=" "+editStr1+"         ";
       esitStr2=iter.toMap()["version"].toString();
       editStr+=esitStr2+"\n";
    }

QVariantList不会给数据自动排序,想取数据时通过遍历去取也可以通过方法 .at() 来获取第几个数据

QVariantMap遍历


QVariantMap QVMap;
QVMap.insert("aaa", 1);
QVMap.insert("bbb", 2);
QVMap.insert("ccc", 3);
QVMap.insert("ddd", 4);
QVariantMap::iterator iter;
for(iter=QVMap.begin(); iter!=QVMap.end(); iter++){
    qInfo()<<"aaaa"<<it.key()<<it.value().toInt();
}

注意,QVariantMap会给数据自动排序(你可以改变QVariantMap的排序顺序),所以QVariantMap不适合直接用 .at 直接获取数据,除非本来就是要排序好的数据。

QVariantMap可以直接通过Key来获取对应的Value,注意QVariantMap的Key为String,Value可以是任意值,例如 你想获取上面QVMap里"ccc"所对应的value值时,可以直接用 QVMap[“ccc”].value.toInt() 获取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值