QMap<QString, QStringList>
时间: 2023-07-09 11:28:17 浏览: 143
QStringListModel作为QListView的数据模型,实现界面上显示和编辑字符串列表
QMap<QString, QStringList> 是一个键为 QString 类型、值为 QStringList 类型的 QMap。它可以用来存储一组键值对,其中每个键对应一个字符串列表。
例如,我们可以使用 QMap<QString, QStringList> 来存储城市和该城市的所有景点,示例如下:
```
QMap<QString, QStringList> cityAttractions;
cityAttractions["Beijing"] << "Great Wall" << "Forbidden City" << "Summer Palace";
cityAttractions["Shanghai"] << "The Bund" << "Yu Garden" << "Oriental Pearl Tower";
cityAttractions["Guilin"] << "Li River" << "Elephant Trunk Hill" << "Reed Flute Cave";
```
上述代码中,我们首先创建了一个 QMap<QString, QStringList> 对象,然后使用 [] 运算符来访问该对象中的键值对。例如,`cityAttractions["Beijing"]` 返回的是一个 QStringList 对象,我们可以使用 << 运算符向其中添加多个字符串。最终的结果是一个包含三个键值对的 QMap,每个键对应一个字符串列表。
如果需要遍历 QMap<QString, QStringList> 中的所有键值对,可以使用 QMap 的迭代器来实现,示例如下:
```
QMap<QString, QStringList>::const_iterator it;
for (it = cityAttractions.constBegin(); it != cityAttractions.constEnd(); ++it) {
QString city = it.key();
QStringList attractions = it.value();
qDebug() << "City: " << city;
qDebug() << "Attractions: " << attractions;
}
```
上述代码中,我们使用 constBegin() 和 constEnd() 方法获取 QMap 的迭代器,然后使用 key() 和 value() 方法来获取键和值。最终输出每个城市的名称和对应的景点列表。
阅读全文