Имеется собственный тип, который сохраняется в QVariant.
При для списка QVariantList с элементами из этого типа не работает операция сравнения.
То есть для двух одинаковых списков оператор == возвращает false
Что не так?
C++ (Qt)
#include <QVariant>
#include <QPair>
#include <QString>
#include <QVariantList>
#include <QtDebug>
typedef QPair<QString, QVariant> StringVariantPair;
Q_DECLARE_METATYPE(StringVariantPair)
QVariantList testList()
{
QVariantList list;
QVariant v;
StringVariantPair p;
p.first = "option1";
p.second = 12345;
v.setValue(p);
list.append(v);
return list;
}
int main()
{
QVariantList l1, l2;
l1 = testList();
l2 = testList();
if(l1 == l2)
qDebug() << "Equal";
else
qDebug() << "Not equal";
return 0;
}