QHash<QString, QRect> m_mapping;遍历m_mapping
时间: 2024-09-11 21:10:06 浏览: 73
QHash帮组文档中文版.docx
`QHash` 是 Qt 框架中的一个容器类,用于存储键值对(key-value pairs)。它类似于 C++ 标准模板库中的 `std::unordered_map`,但是它是专门为 Qt 环境优化的。`QHash<QString, QRect>` 表示键(key)类型是 `QString`,值(value)类型是 `QRect` 的哈希表。`QRect` 是一个用于表示矩形区域的类,包含位置和尺寸信息。
遍历 `QHash` 可以使用多种方式,以下是几种常见的遍历方法:
1. 使用 `QHash` 的迭代器进行遍历:
```cpp
QHash<QString, QRect>::const_iterator i;
for (i = m_mapping.constBegin(); i != m_mapping.constEnd(); ++i) {
QString key = i.key();
QRect value = i.value();
// 进行操作...
}
```
2. 使用基于范围的 for 循环(C++11 起):
```cpp
for (const auto &pair : m_mapping) {
QString key = pair.first;
QRect value = pair.second;
// 进行操作...
}
```
3. 使用 `foreach` 循环遍历键值对:
```cpp
foreach (const auto &pair, m_mapping) {
QString key = pair.first;
QRect value = pair.second;
// 进行操作...
}
```
4. 如果只需要访问值,可以直接遍历所有值:
```cpp
foreach (const QRect &value, m_mapping) {
// 进行操作...
}
```
选择哪种方法取决于你的具体需求和编程风格偏好。
阅读全文