我有一个 QVariantMap,它的键是一个字符串,值是一个数组(整数或字符串)
如何获取数组的各个元素?
map["key"] 有一个 toList() 方法。我可以将其应用于数组吗?
我有一个 QVariantMap,它的键是一个字符串,值是一个数组(整数或字符串)
如何获取数组的各个元素?
map["key"] 有一个 toList() 方法。我可以将其应用于数组吗?
Yes,
QString first_string_of_key = QVariantMap["key"].toList()[0];
but this is only for reading. Any attempt to write will not work because QVariant will return a copy of the list. Read this post: Assigning to nested QVariantMap
如果我们说我们有一个it
围绕键移动的迭代器,也许你可以试试这个:
我们可以说
if(it.value("key").type()==QMetaType::ByteArray)
std::vector<std::string> vs_array_valus(QVariantMap["key"].value().toArray());
或直接使用如下:
if(QVariantMap["key"].value().type()==QMetaType::ByteArray)
std::vector<std::string> vs_array_valus(QVariantMap["key"].value().toArray());
希望这会有所帮助。