构建方法,使用qvariant_cast 模板 #include <QtCore/QCoreApplication> #include <QVariant> #include <QtDebug> int main(int argc, char** argv) { QCoreApplication a(argc, argv); QVariantMap map; map["foo"] = QVariant(QVariantMap()); map["baz"] = "asdf"; QVariantMap newMap; newMap["bar"] = "a"; map["foo"] = QVariant(newMap); qDebug() << qvariant_cast<QVariantMap>(map["foo"])["bar"].toString(); qDebug() << map["baz"].toString(); return a.exec(); }
修改嵌入map的方法
QVariantMap existingMap = qvariant_cast<QVariantMap>(map["foo"]); existingMap["bar"] = "a"; map["foo"] = QVariant(existingMap);