我需要将 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
好吧...那么替代品是什么?
See the 兼容性说明 http://qt-project.org/doc/qt-5.0/qtcore/qvariant-compat.html.
For qVariantValue
, use QVariant::value<T>
反而。
index.data().value<SingleItem*>();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)