其他分享
首页 > 其他分享> > c – qVariantValue是“QT_DEPRECATED” – 替换是什么?

c – qVariantValue是“QT_DEPRECATED” – 替换是什么?

作者:互联网

我需要将Qt遗留代码从4转换为5.1
现在我在visual studio 2010中有编译错误:

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

给我 :

.cpp(63): error C2065: ‘qVariantValue’ : undeclared identifier

当我去标题时,我看到:

#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

好的…那么更换什么?

解决方法:

compatibility notes.

对于qVariantValue,请使用QVariant :: value< T>代替.

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

标签:qvariant,c,qt
来源: https://codeday.me/bug/20190729/1568952.html