Как я могу использовать QList & lt; CustomClass & gt; как метаобъект QT

Привет, я пытаюсь преобразовать объект в JSON. В этом процессе я создал 2 класса.

class class1 : Public object
{
Q_OBJECT

Q_PROPERTY(QString Item1 READ getItem1 WRITE setItem1)
Q_PROPERTY(qint64 Item2 READ getItem2 WRITE setItem2)

private:

QString Item1;
qint64 Item2;

public:

QString getItem1 () const { return Item1;}

void setItem1 (const QString& Item){ Item1= Item; }

// In the same way i have it for item2

}

Q_DECLARE_METATYPE(class1*);

Class class2 : public QObject
{

Q_OBJECT

Q_PROPERTY(QString Item1 READ getItem1 WRITE setItem1)
Q_PROPERTY(qint64 Item2 READ getItem2 WRITE setItem2)
Q_PROPERTY(QList<Class1*> class1List READ getclass1List WRITE setclass1List)

private:
qint64 Item5;
qint64 Item6;
QList< class1* > class1List;

public:

QString getItem5 () const { return Item5;}

void setItem5 (const QString& Item){ Item5 = Item; }

QString getItem6 () const { return Item6;}

void setItem6 (const QString& Item){ Item6 = Item; }

const QList<class1*> &getclass1List() const { return class1List;}

void setclass1List(const QList<class1List*> &List) { class1List= List; }

Теперь я преобразовал class2 объект, который имеет class1 список в QVariant с помощью QJson::QObjectHelper::qobject2qvariant, Все данные внутри class2 преобразуются в JSON, но список печатается как NULL.

Пожалуйста, дайте мне знать, что не так в этой процедуре.

Я также попробовал это с

QList<class1*> getclass1List() const { return class1List;}

void setclass1List(const QList<class1List*> List) { class1Lis = List; }

Но бесполезно … я все еще получаю NULL для значения списка в объекте JSON. Если я распечатываю тот же список как отдельный объект, я получаю данные.

1

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]