2013-02-17 160 views
3

我需要從4轉換的Qt遺留代碼5.1 現在我在Visual Studio 2010中有編譯錯誤:qVariantValue是「QT_DEPRECATED」 - 替換是什麼?

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 

好的......那麼替代品是什麼?

+0

我找不到'qVariantValue'? – 2013-02-17 10:03:20

回答

7

請參閱compatibility notes

對於qVariantValue,請改爲使用QVariant::value<T>

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