#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";
    qvariant_cast<QVariantMap>(map["foo"])["bar"] = "a";
    qDebug() << qvariant_cast<QVariantMap>(map["foo"])["bar"].toString();
    qDebug() << map["baz"].toString();
    return a.exec();
}
ネストされた QVariantMap 内の QVariant に割り当てようとしています。最初の qDebug() は何も出力しませんが、2 番目は期待どおり "asdf" を出力します。ネストされた変数マップの「バー」キーを値に割り当てるにはどうすればよいですか?