[Interest] QJsonDocument::fromVariant failing with list
Thiago Macieira
thiago.macieira at intel.com
Wed Jun 9 16:53:23 CEST 2021
On Wednesday, 9 June 2021 07:23:42 PDT Jason H wrote:
> That is what I was expecting. I thought they were just a typedef? (Though I
> am lying there, I know QStringList inherits from QList<QString>) The
> instant case of QList<QVariant> is just a typedef though, so I am confused
> as why it wasn't working. I thought typedefs were indistinguishable? The
> expressiveness of C++11 initializers of creating objects that end up in
> CBOR and JSON for I/O, and QVariant based trees (incl arrays) for in-app
> databases is just awesome. But then you get someone wielding C++ clumsily
> like me. :-)
You may want to take a look at qtcontainerfwd.h some time. It contains these
lines:
using QStringList = QList<QString>;
using QByteArrayList = QList<QByteArray>;
using QVariantList = QList<QVariant>;
using QVariantMap = QMap<QString, QVariant>;
using QVariantHash = QHash<QString, QVariant>;
using QVariantPair = QPair<QVariant, QVariant>;
So QStringList *is* a QList, not even deriving from it. That wasn't the case
in Qt 4 and 5, but is fixed for Qt 6. QVariantList has always been
QList<QVariant> though, since it was introduced in 4.0.
The problem is not that you were using QList<QVariant> over QVariantList. The
problem is that you introduced a new type.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel DPG Cloud Engineering
More information about the Interest
mailing list