从给定的密钥开始迭代QMap

时间:2017-01-27 17:07:26

标签: qt iterator functor qmap

我有一个qmap列表,

 map.insert(1,"One");
 map.insert(2,"Two");
 map.insert(3,"Three");
 map.insert(4,"Four");
map.insert(5,"five");
map.insert(5.5,"five.five");
map.insert(7,"five.five");

我的间隔是[2,5.1] 我需要从2开始直到达到5

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用从upperBound和{{3}}返回的迭代器来执行此操作:

QMap<double, QString>::const_iterator lower = map.lowerBound(2);
QMap<double, QString>::const_iterator upper = map.upperBound(5.1);

for ( ; lower != upper; ++lower)
{
    qDebug() << *lower;
}