QT中遍历QMap<QString, int>集合,请给我完整代码
时间: 2024-02-06 09:11:41 浏览: 141
好的,这是遍历QMap<QString, int>集合的完整代码:
```cpp
#include <QMap>
#include <QString>
#include <QDebug>
int main()
{
QMap<QString, int> myMap;
myMap.insert("apple", 10);
myMap.insert("banana", 20);
myMap.insert("orange", 30);
// 使用迭代器遍历QMap
QMap<QString, int>::const_iterator iter;
for (iter = myMap.constBegin(); iter != myMap.constEnd(); ++iter)
{
QString key = iter.key(); // 获取键值
int value = iter.value(); // 获取对应的值
qDebug() << key << ":" << value;
}
return 0;
}
```
在这个例子中,我们定义了一个QMap<QString, int>类型的对象`myMap`,并向其中插入了三个键值对。然后,我们使用迭代器遍历`myMap`对象,输出每个键值对的键和值。
相关问题
QT中遍历QMap<QString, int>集合
可以使用QMap的迭代器iterator来遍历QMap<QString, int>集合,代码如下所示:
```cpp
QMap<QString, int> myMap;
myMap.insert("apple", 10);
myMap.insert("banana", 20);
myMap.insert("orange", 30);
// 使用迭代器遍历QMap
QMap<QString, int>::const_iterator iter;
for (iter = myMap.constBegin(); iter != myMap.constEnd(); ++iter)
{
QString key = iter.key(); // 获取键值
int value = iter.value(); // 获取对应的值
qDebug() << key << ":" << value;
}
```
在上述代码中,使用const_iterator遍历QMap,通过`iter.key()`和`iter.value()`分别获取键和值。使用`constBegin()`和`constEnd()`方法返回QMap的迭代器的起始和终止位置。
qt5的QMap<QString,QVector<int>>的清空
您可以使用QMap的clear()函数来清空整个QMap对象,而每个QVector可以使用其自己的clear()函数来清空。以下是示例代码:
```cpp
QMap<QString, QVector<int>> myMap;
// ... 添加元素到 myMap ...
// 清空 QMap
myMap.clear();
// 清空 QVector
QVector<int> myVector;
// ... 添加元素到 myVector ...
myVector.clear(); // 清空 QVector
```
注意,如果您只想清空QMap中的所有QVector,而不清空QMap本身,则可以使用以下代码:
```cpp
QMap<QString, QVector<int>> myMap;
// ... 添加元素到 myMap ...
// 遍历 QMap 中的每个 QVector,并清空它
for(auto it = myMap.begin(); it != myMap.end(); ++it) {
it.value().clear();
}
```
这将遍历 QMap 中的每个 QVector,并使用其自己的 clear() 函数来清空它。
阅读全文