QList遍历
QList<int> list;
list << 1 << 2 << 3 << 4 << 5;
qDebug() << "QList第一种遍历";
QList<int>::iterator it1 = list.begin();
for(; it1!=list.end(); ++it1)
{
qDebug() << *it1;
}
qDebug() << "QList第二种遍历";
QListIterator<int> it2(list);
for(it2.toFront(); it2.hasNext();)
{
qDebug() << it2.next();
}
qDebug() <<"";
for(it2.toBack(); it2.hasPrevious();)
{
qDebug() << it2.previous();
}
QMap遍历
QMap<QString, QString> map;
map["Demo1"] = "样式1";
map["Demo2"] = "样式2";
map["Demo3"] = "样式3";
map["Demo4"] = "样式4";
map["Demo5"] = "样式5";
qDebug() << "QMap第一种遍历";
QMap<QString, QString>::iterator it1 = map.begin();
for(; it1!=map.end(); ++it1)
{
qDebug() << it1.key() + " -- " + it1.value();
}
qDebug() << "QMap第二种遍历";
QMapIterator<QString, QString> it2(map);
it2.toFront();
while (it2.hasNext())
{
it2.next();
qDebug() << it2.key() + " -- " + it2.value();
}
qDebug() << "-----------------";
it2.toBack();
while(it2.hasPrevious())
{
it2.previous();
qDebug() << it2.key() + " -- " + it2.value();
}
在QList与QMap结合使用时,发生了一点意外
QMap<QString, QString> rowlist;
QList<QString> allValues;
allValues.clear();
rowlist.clear();
rowlist["text1"]= pRow->ReadString("内容1", "");
rowlist["text2"]= pRow->ReadString("内容2", "");
rowlist["text3"]= pRow->ReadString("内容3", "");
for(int count = 0 ; count < rowlist.count(); count ++)
{
allValues << rowlist[count];
}
//allValues这样加的数据顺序有问题
//正确的QList添加QMap数据,是一项一项添加
allValues << rowlist.values("text1");
allValues << rowlist.values("text2");
allValues << rowlist.values("text3");
//这样存入的顺序才是“内容1、内容2、内容3”
希望这篇文章可以帮到你们。