QStringList strList_num; strList_num << "1:海拔高度" << "1:相对机场高度" << "1:无线电高度" << "1:空速";字符串列表中的字符串通过循环放入QMap中
时间: 2023-12-29 07:06:42 浏览: 108
可以这样实现:
```cpp
QMap<QString, int> map;
for (const QString& str : strList_num) {
QStringList strList = str.split(":");
if (strList.size() == 2) {
bool ok;
int value = strList[0].toInt(&ok);
if (ok) {
map.insert(strList[1], value);
}
}
}
```
这里先定义了一个空的 `QMap<QString, int>`,然后遍历 `strList_num` 中的每个字符串。对于每个字符串,我们首先通过 `split()` 函数将其分割成两部分,分别是数字和对应的字符串键。然后使用 `toInt()` 函数将数字部分转换为整数,并将其插入到 `map` 中作为值,使用字符串键作为键。最后,如果转换和插入操作都成功,就会在 `map` 中保存该键值对。
相关问题
QMap<QString, PARAM_RECORD>::const_iterator
QMap<QString, PARAM_RECORD>::const_iterator 是 QMap 类模板在 C++ 中定义的一个迭代器类型。它用于遍历 QMap 容器内的元素,并且是一个常量迭代器,意味着它只能用于读取 QMap 中的元素,不能进行修改。
具体来说,QMap<QString, PARAM_RECORD>::const_iterator 是一个指向 QMap 容器中键值对的迭代器,其中键的类型为 QString,值的类型为 PARAM_RECORD。通过使用 QMap 类模板定义的 const_iterator,可以实现对 QMap 容器中元素的遍历和访问。
下面是一个使用 QMap<QString, PARAM_RECORD>::const_iterator 进行遍历的示例代码:
```cpp
QMap<QString, PARAM_RECORD> myMap;
// 在 myMap 中添加一些键值对
// 使用 const_iterator 遍历 QMap
for (QMap<QString, PARAM_RECORD>::const_iterator it = myMap.constBegin(); it != myMap.constEnd(); ++it) {
QString key = it.key(); // 获取键
PARAM_RECORD value = it.value(); // 获取值
// 对键值对进行操作,比如打印输出
qDebug() << "Key: " << key << " Value: " << value;
}
```
注意,const_iterator 是一个常量迭代器,因此无法通过迭代器修改 QMap 中的元素。如果需要修改元素,可以使用 QMap<QString, PARAM_RECORD>::iterator 类型的迭代器。
QStringList StrList_1 = Str_1.split(".");什么意思
这段代码的作用是将一个包含“.”符号的字符串(Str_1)按照“.”进行分割,并将分割后的子字符串存储在一个QStringList类型的列表(StrList_1)中。在这里,split(".")方法用于按照“.”对Str_1进行分割,得到的子字符串将被存储在StrList_1中,每个子字符串都是一个QString类型的元素。
阅读全文