Top.Mail.Ru
Уведомления
Очистить все

QMap и цикл for, пройти по всем значениям

(@slava-2)
New member

Доброго дня, подскажите как можно прогнать QMap через цикл for, чтобы внутри цикла обработать все пары значений key и value. Хочу что-то такое:

QMap<int, QString> map;

for (.....)
{
    // use key and value for each map element
}

Цитата
Создатель темы Размещено : 10.09.2025 13:10
TQFP
 TQFP
(@tqfp)
Level 5

Самое простое:

for (auto key : map.keys()) 
{
    qDebug() << "key" << key;
    qDebug() << "value" << map.value(key);
}

Или:

for (auto it = map.begin(); it != map.end(); ++it) 
{
    qDebug() << "key" << it.key();
    qDebug() << "value" << it.value();
}

ОтветитьЦитата
Размещено : 10.09.2025 13:55
Aveal
(@aveal)
Top level Admin

Для версий Qt >= 6.4:

for (auto [key, value] : map.asKeyValueRange()) 
{
    qDebug() << "key-value pair" << key << value;
}

ОтветитьЦитата
Размещено : 10.09.2025 16:03
Поделиться: