#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" を出力します。ネストされた変数マップの「バー」キーを値に割り当てるにはどうすればよいですか?