Как преобразовать QList‹T› в QVariant?

Я не могу найти способ преобразовать мой QList<T> в QVariant.

Есть конструктор QVariant(const QList<QVariant> &val), но нет конструктора для QList<T>. Можно ли напрямую преобразовать QList<T>?


person Evans Belloeil    schedule 08.06.2017    source источник
comment
Предположим, что ваше имя типа T включено в типы объединения QVariant (иначе вы не можете). почему бы вам не преобразовать каждый объект T в QVariant, поместить все это преобразованное в QList‹QVariant› и, наконец, преобразовать его в QVariant?   -  person Mohamed Hamzaoui    schedule 08.06.2017
comment
@requinham Я надеялся, что есть что-то более простое...   -  person Evans Belloeil    schedule 08.06.2017


Ответы (1)


Пример

QList<int> ints{1,2,3};
QVariant var = QVariant::fromValue<QList<int>>(ints);
person olya    schedule 08.06.2017
comment
Примечание Qt: Если вы работаете с пользовательскими типами, вам следует использовать макрос Q_DECLARE_METATYPE() для регистрации вашего пользовательского типа. - person Mohamed Hamzaoui; 08.06.2017