QT如何迭代容器?
大概有四种方法。
- 第一种,也是最简单的一种,使用qt特有的foreach技术。
QList<QString> list;
list << "how" <<"are" << "you";
foreach(QString str, list)
{
std::cout <<str.toStdString() << std::endl;
}//先定义一个list容器,然后通过变量str进行遍历list
- 第二种,使用迭代器
QList<QString> list;
list << "how" <<"are" << "you";
QListIterator <QString> iter(list);
while(iter.hasNext())
{
std::cout<< iter.next() <<std::endl;
}
- 第三种,使用迭代器2
QList<QString> list;
list << "how" <<"are" << "you";
QList<QString>::Iterator iter;
for(iter=list.begin(); iter!=list.end(); ++iter)
{
std::cout << iter->toStdString() << std::endl;
}
- 第四种方式,使用for循环
QList<QString> list;
list << "how" <<"are" << "you";
for (int i=0;i<list.size();++i)
{
std::cout << list[i] << std::endl;
}
note:个人比较喜欢第一种和第三种。
update by dashuread
date: 20191009