qVariantValue равно «QT_DEPRECATED» — какая замена?

мне нужно конвертировать старый код Qt из 4 в 5.1
Теперь у меня есть ошибка компиляции в Visual Studio 2010:

SingleItem* item = qVariantValue<SingleItem*>(index.data());

дает мне :

.cpp (63): ошибка C2065: «qVariantValue»: необъявленный идентификатор

когда я иду к заголовку, я вижу:

#if QT_DEPRECATED_SINCE(5, 0)
template<typename T>
inline QT_DEPRECATED T qVariantValue(const QVariant &variant)
{ return qvariant_cast<T>(variant); }

template<typename T>
inline QT_DEPRECATED bool qVariantCanConvert(const QVariant &variant)
{ return variant.template canConvert<T>(); }
#endif

ок … так какая замена?

3

Решение

Увидеть заметки о совместимости.

За qVariantValueиспользовать QVariant::value<T> вместо.

index.data().value<SingleItem*>();
7

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

Других решений пока нет …

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