如何从Qt5中的QVariant获取QString形式的数据?
How to get data in form of QString from QVariant in Qt5?
我有一个用户类型为 QVariantList 的 QVariant,当我对 qvariant 进行 qDebug 时,确切的格式如下所示
QVariant(QVariantList, (QVariant(QVariantMap, QMap(("name", QVariant(QString, "UK English Female"))))
我想要变体中的 QString,"UK English Female" 我怎样才能得到我已经尝试过的 QVariant.toStringList()
但字符串列表是空的。
谢谢
根据显示的调试输出,我推测它是以类似的方式生成的:
QVariantMap map;
map.insert("name", QVariant("UK English Female"));
qDebug() << QVariant(QVariantList{QVariant(map)});
结果你有一个字符串数据,它被埋藏在一系列容器中相对较深的地方。
那么,怎么去?
作为一个整体,你有一个 QVariant 持有一个 QVariantList 和一个 QVariant 值,这又是一个 QMap。该映射有一个 name 类型 QVariant 的键,其中包含一个 QString。链接必要的转换,我们最终得到:
qDebug() << myVar.value<QVariantList>().first().toMap().value("name").toString();
假设整个事件发生在 QVariant myVar;
。
我有一个用户类型为 QVariantList 的 QVariant,当我对 qvariant 进行 qDebug 时,确切的格式如下所示
QVariant(QVariantList, (QVariant(QVariantMap, QMap(("name", QVariant(QString, "UK English Female"))))
我想要变体中的 QString,"UK English Female" 我怎样才能得到我已经尝试过的 QVariant.toStringList()
但字符串列表是空的。
谢谢
根据显示的调试输出,我推测它是以类似的方式生成的:
QVariantMap map;
map.insert("name", QVariant("UK English Female"));
qDebug() << QVariant(QVariantList{QVariant(map)});
结果你有一个字符串数据,它被埋藏在一系列容器中相对较深的地方。
那么,怎么去?
作为一个整体,你有一个 QVariant 持有一个 QVariantList 和一个 QVariant 值,这又是一个 QMap。该映射有一个 name 类型 QVariant 的键,其中包含一个 QString。链接必要的转换,我们最终得到:
qDebug() << myVar.value<QVariantList>().first().toMap().value("name").toString();
假设整个事件发生在 QVariant myVar;
。