2017-01-27 1 views
0

J'ai une liste QMap,itérer sur QMap à partir de clé donnée

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"); 

mon intervalle est [2,5.1] je dois partir de 2 jusqu'à ce que j'atteindre 5

merci!

Répondre

-1

Vous pouvez utiliser les itérateurs renvoyés de lowerBound et upperBound à faire:

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; 
}