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 に答える