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 _______________________________________________ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest