Russian Qt Forum

Qt => Вопросы новичков => Тема начата: andrew.k от Декабрь 04, 2011, 18:58



Название: [Решено] сохранить QMap в QVariant
Отправлено: andrew.k от Декабрь 04, 2011, 18:58
Мне нужно QMap<QString, QSize> сохранить в QVariant.
Как это правильно сделать?


Название: Re: сохранить QMap в QVariant
Отправлено: twp от Декабрь 04, 2011, 20:50
почитай про Q_DECLARE_METATYPE


Название: Re: сохранить QMap в QVariant
Отправлено: andrew.k от Декабрь 04, 2011, 21:49
спасибо.


Название: Re: сохранить QMap в QVariant
Отправлено: andrew.k от Декабрь 04, 2011, 22:28
а как теперь узнать, что в QVariant именно мой тип, чего-то не пойму.


Название: Re: сохранить QMap в QVariant
Отправлено: twp от Декабрь 04, 2011, 23:46
есть два способа
Код
C++ (Qt)
bool qVariantCanConvert<T>( const QVariant & value )
bool QVariant::canConvert<T>() const
 


Название: Re: сохранить QMap в QVariant
Отправлено: LisandreL от Декабрь 05, 2011, 00:12
есть два способа
Это один способ, просто для разных компиляторов.
Можно, например, так:
Код
C++ (Qt)
variant.userType() == qMetaTypeId< MyType >()


Название: Re: сохранить QMap в QVariant
Отправлено: andrew.k от Декабрь 05, 2011, 01:09
Я смотрел декларацию класса QVariant в ассистанте, а там не видно, что методы шаблонные.
А ткнуть не догадался, не до того было.

Спасибо за помощь и быстрые ответы.