简体   繁体   English

qVariantValue是“QT_DEPRECATED” - 替换是什么?

[英]qVariantValue is “QT_DEPRECATED” - what is the replacement?

i need to convert Qt legacy code from 4 to 5.1 now i have compilation error in visual studio 2010 : 我需要将Qt遗留代码从4转换为5.1现在我在visual studio 2010中有编译错误:

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

gives me : 给我 :

.cpp(63): error C2065: 'qVariantValue' : undeclared identifier .cpp(63):错误C2065:'qVariantValue':未声明的标识符

when i go to the header i see : 当我去标题时,我看到:

#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

ok ... so what is the replacement? 好的...那么更换什么?

See the compatibility notes . 请参阅兼容性说明

For qVariantValue , use QVariant::value<T> instead. 对于qVariantValue ,请改用QVariant::value<T>

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM