Qt迭代器遍历Qmap
时间: 2023-08-03 22:08:03 浏览: 462
你可以使用Qt的迭代器来遍历QMap。以下是一个示例代码,演示了如何使用迭代器遍历QMap:
```cpp
QMap<QString, int> myMap;
myMap.insert("Apple", 10);
myMap.insert("Banana", 5);
myMap.insert("Orange", 8);
QMap<QString, int>::const_iterator it;
for (it = myMap.constBegin(); it != myMap.constEnd(); ++it) {
qDebug() << "Key:" << it.key() << "Value:" << it.value();
}
```
这段代码首先创建了一个QMap对象`myMap`,并插入了一些键值对。然后,通过调用`constBegin()`和`constEnd()`方法,获取一个常量迭代器。使用迭代器进行遍历时,可以通过`key()`和`value()`方法获取当前键值对的键和值。
在循环中,我们使用`++it`来递增迭代器,并判断是否达到了结束位置。在每次循环中,我们打印出当前键和值。
这样就可以使用迭代器遍历QMap了。记得在使用QMap的时候包含相应的头文件`#include <QMap>`和`#include <QDebug>`。
相关问题
QT 中 如何遍历 QMAP
要遍历 QMap,可以使用迭代器来遍历其中的键值对。下面是一个示例代码:
```
QMap<QString, int> myMap;
myMap.insert("apple", 3);
myMap.insert("banana", 2);
myMap.insert("orange", 5);
QMap<QString, int>::const_iterator i = myMap.constBegin();
while (i != myMap.constEnd()) {
qDebug() << i.key() << ": " << i.value();
++i;
}
```
在上面的代码中,使用了 `const_iterator` 来遍历 QMap,`constBegin()` 和 `constEnd()` 分别返回 QMap 的起始和结束迭代器。然后,使用 `key()` 和 `value()` 函数获取键和值。在循环中,使用 `++i` 将迭代器移动到下一个键值对。
qt遍历Qmap
你可以使用 QMap 的迭代器来遍历 QMap。以下是一个简单的示例代码:
```cpp
QMap<QString, int> myMap;
myMap.insert("apple", 5);
myMap.insert("banana", 3);
myMap.insert("orange", 2);
QMap<QString, int>::const_iterator i = myMap.constBegin();
while (i != myMap.constEnd()) {
qDebug() << i.key() << ": " << i.value();
++i;
}
```
在上面的示例中,我们创建了一个 QMap 对象 myMap,并向其中添加了三个键值对。然后我们使用 constBegin() 和 constEnd() 函数获取 QMap 的迭代器的起始位置和结束位置,并使用一个 while 循环来遍历 QMap 中的所有键值对。在循环中,我们通过 i.key() 和 i.value() 函数分别获取当前迭代器指向的键和值,并将其输出到控制台。最后,我们使用 ++i 将迭代器指向 QMap 中的下一个键值对。
需要注意的是,如果你需要修改 QMap 中的值,则需要使用 QMap 的普通迭代器(而非 const_iterator)。在这种情况下,你应该使用 begin() 和 end() 函数来获取 QMap 的迭代器。
阅读全文