How to convert QMap <QString, QMap <QString, int >> to QVariant?

QVariant(required for the class QSettings) supports creating fromQMap<QString, QVariant>

But trying to initialize something like this:

QMap<QString, QVariant(QMap<QString, QVariant>)> i;

Gives an error:

returns a function.

So, I tried overloading QMap<QString, QVariant>for QVariant()and got

error: there is no corresponding function to call QVariant::QVariant(QMap<QString, QMap<QString, int> >&)

Now I tried the type:

QMap<QString, (QVariant)QMap<QString, QVariant> > i;

and received

template argument 2 invalid
invalid type in declaration before ;token

So what does voodoo need to convert a nested object QMapto an object QVariant?

+3
source share
2 answers

: QVariant(...) , (c-tor).

: Map<QString, QVariant> i; QVariant(QMap<QString, QVariant>) . QVariant - - . , QVariants int ( QVariant) a QDate . , QVariant.

+4
  • QMap<QString, QVariant(QMap<QString, QVariant>)> . , , QMap<QString, QVariant>.

  • QMap<QString,(QVariant)QMap<QString, QVariant> >, . , typecast .

  • QMap<QString, int> ( QMap) QVariant . QMap, QVariant, QMap<QString,QVariant>.

    typedef : QVariantMap. QVariantMap , .

+5

Source: https://habr.com/ru/post/1755315/


All Articles