QVariant из QList<QList <MyClass >>
Я хочу сохранить QList<QList<MyClass>>
как QVariant, но я всегда получаю ошибку QVariant::save: unable to save type 'QList<QList<MyClass*> >' (type id: 1042)
, Я реализовал оператор потоковой передачи для MyClass, и он отлично работает.
QDataStream& operator<<(QDataStream& out, const MyClass& item)
{
//Properties to write
return out;
}
QDataStream& operator>>(QDataStream& in, MyClass& item)
{
//Properties to read
return in;
}
Я также зарегистрировал типы
Q_DECLARE_METATYPE(MyClass*)
Q_DECLARE_METATYPE(QList<MyClass*>)
Q_DECLARE_METATYPE(QList<QList<MyClass*>>)
а также
qRegisterMetaType<QList<MyClass*>>("QList<MyClass*>");
qRegisterMetaType<QList<QList<MyClass*>>>("QList<QList<MyClass*>>");
qRegisterMetaType<MyClass*>("MyClass*");
Если я только один поток MyClass Object все в порядке. Я могу сохранить его как QVariant, транслировать его и преобразовать обратно в MyClass. Я думал, что мне не нужно реализовывать оператор для QList<MyClass>
или же QList<QList<MyClass>>
потому что потоковая передача класса шаблона в QList уже реализована Qt. Так в чем дело?