Fondamentalement, j'ai besoin de générer un QVariantMap imbriqué. (Pensez JSON):Élégante référence non-const à un noeud QVariantMap?
{ "foo" : 1, "bar" : { "node" : 0 } }
Je le fais dans Qt cette façon:
QVariantMap r, r_bar;
r["foo"] = QVariant(1);
r_bar["node"] = QVariant(0);
r["bar"] = r_bar;
Ce qui est très pratique pour les grandes structures imbriquées. Y at-il une façon élégante de le faire, comme celui-ci (syntaxe faux) ?:
r["foo"] = QVariant(1);
r["bar"]["node"] = QVariant(0);
Je ne peux pas le faire:
r["foo"].toMap()["node"] = QVariant(0)
parce que toutes les fonctions « toSomething » de QVariant renvoient une copie du objet, pas une référence à celui-ci.
Quelqu'un peut-il m'aider avec ceci?
Merci!
Habituellement, je crée simplement mon propre classe wrapper autour de Map et Variant pour accomplir ceci. L'idée est donc de ne pas insérer d'autres instances de la carte en tant que variantes, mais de les gérer séparément. – Virne