我有一个带有userType QVariantList的QVariant,当我qdebug qvariant时,确切的格式如下所示
QVariant(QVariantList, (QVariant(QVariantMap, QMap(("name", QVariant(QString, "UK English Female"))))
我想要QString,来自变体的“英国英国女性”我怎么能得到我已经尝试过QVariant.toStringList()
但是stringlist是空的。谢谢。
从显示为调试输出的内容来看,我认为它是以类似的方式生成的:
QVariantMap map;
map.insert("name", QVariant("UK English Female"));
qDebug() << QVariant(QVariantList{QVariant(map)});
因此,您有一个字符串数据,在一系列容器中埋藏相对较深。
那么,如何到达那里?
总的来说,你有一个QVariant持有一个QVariantList,它有一个QVariant值,而QVariant值又是一个QMap。地图的密钥名称为QVariant,其中包含QString。链接必要的转换,我们最终得到:
qDebug() << myVar.value<QVariantList>().first().toMap().value("name").toString();
假设整个事情都在QVariant myVar;
举行。