Seite 1 von 1
QList<QPair<QDate, int>> in QVariant
Verfasst: 16. September 2013 16:11
von DBGTMaster
Hallo,
ich habe einen Typ definiert.
file.h:
Code: Alles auswählen
typedef QList < QPair< QDate, quint32 > > backList..
...
...
Q_DECLARE_METATYPE(backList);
file.cpp:
Kompiler meint, QVariant hat als keinen Parameter "backlist".
Wie kann ich backList in einem QVariant übergeben?
Danke!
Re: QList<QPair<QDate, int>> in QVariant
Verfasst: 16. September 2013 19:22
von Christian81
Es gibt ja auch keine Funktion (in diesem Falle ctor) mit QVariant(const backList &data).
Du musst die Daten mit QVariant::setvalue<T>() setzen
Re: QList<QPair<QDate, int>> in QVariant
Verfasst: 18. September 2013 11:34
von DBGTMaster
Danke für diese einfache Lösung

!
Re: QList<QPair<QDate, int>> in QVariant
Verfasst: 18. September 2013 16:53
von DBGTMaster
Hallo,
leider mein nächstes Problem:
Code: Alles auswählen
typedef QList< QPair<QDate, quint32> > backwardList;
backwardList backward;
Q_DECLARE_METATYPE(backwardList)
backward.append( QPair<QDate, quint32> (
date, int-val
)
);
QHash<QString, QVariant> cols;
cols["backward"].setValue<backwardList>(backward);
list.append( cols );
Der letzte Befehl wirft:
Code: Alles auswählen
QVariant::save: unable to save type 258.
QVariant::save: unable to save type 258.
QVariant::save: unable to save type 258.
QVariant::save: unable to save type 258.
QVariant::save: unable to save type 258.
QVariant::save: unable to save type 258.
QVariant::save: unable to save type 258.
QVariant::save: unable to save type 258.
QVariant::save: unable to save type 258.
QVariant::save: unable to save type 258.
Woran liegt das?
Re: QList<QPair<QDate, int>> in QVariant
Verfasst: 18. September 2013 19:15
von Christian81
qRegisterMetaType() sollte das Problem lösen.