我需要将Qt遗留代码从4转换为5.1现在我在visual studio 2010中有编译错误:
SingleItem* item = qVariantValue<SingleItem*>(index.data());
Run Code Online (Sandbox Code Playgroud)
给我 :
.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
Run Code Online (Sandbox Code Playgroud)
好的...那么更换什么?
请参阅兼容性说明.
对于qVariantValue,请QVariant::value<T>改为使用.
index.data().value<SingleItem*>();
Run Code Online (Sandbox Code Playgroud)