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() 获取。