3

我需要将 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

好的...那么替换是什么?

4

1 回答 1

7

请参阅兼容性说明

对于qVariantValue,请QVariant::value<T>改用。

index.data().value<SingleItem*>();
于 2013-02-17T10:11:45.710 回答