在 Qt 中,你可以使用多种方式来迭代 QMap。以下是一些常见的方法:
1.使用范围基础的 for 循环:这是最简单的方法,但是只能在 C++11 或更高版本中使用。
QMap<QString, int> map;
// 填充 map...
for (const auto &key : map.keys()) {int value = map.value(key);qDebug() << "Key:" << key << "Value:" << value;
}
2.使用迭代器:这是一个更传统的方法,可以在任何版本的 C++ 中使用。
QMap<QString, int> map;
// 填充 map...
QMap<QString, int>::iterator it;
for (it = map.begin(); it != map.end(); ++it) {qDebug() << "Key:" << it.key() << "Value:" << it.value();
}
3.使用常量迭代器:如果你不需要修改 QMap 中的值,你可以使用常量迭代器,这可以提高代码的效率。
QMap<QString, int> map;
// 填充 map...
QMap<QString, int>::const_iterator it;
for (it = map.constBegin(); it != map.constEnd(); ++it) {qDebug() << "Key:" << it.key() << "Value:" << it.value();
}