@@ -43,7 +43,14 @@ namespace QJsonWrapper
43
43
QMetaProperty metaproperty = metaObject->property ( i );
44
44
if ( metaproperty.isReadable () )
45
45
{
46
- map[ QLatin1String ( metaproperty.name () ) ] = object->property ( metaproperty.name () );
46
+ QVariant val = object->property ( metaproperty.name () );
47
+ #if QT_VERSION >= QT_VERSION_CHECK( 6, 0, 0 )
48
+ if ( ( val.metaType ().flags () & QMetaType::IsEnumeration ) )
49
+ {
50
+ val.convert ( QMetaType::Int );
51
+ }
52
+ #endif
53
+ map[ QLatin1String ( metaproperty.name () ) ] = val;
47
54
}
48
55
}
49
56
return map;
@@ -60,9 +67,14 @@ namespace QJsonWrapper
60
67
if ( property.isValid () )
61
68
{
62
69
QVariant value = iter.value ();
63
- if ( value.canConvert ( property.type () ) )
70
+ #if QT_VERSION < QT_VERSION_CHECK( 6, 0, 0 )
71
+ const QVariant::Type propertyType = property.type ();
72
+ #else
73
+ const QMetaType propertyType = property.metaType ();
74
+ #endif
75
+ if ( value.canConvert ( propertyType ) )
64
76
{
65
- value.convert ( property. type () );
77
+ value.convert ( propertyType );
66
78
object->setProperty ( iter.key ().toLatin1 (), value );
67
79
}
68
80
else if ( QString ( QLatin1String ( " QVariant" ) ).compare ( QLatin1String ( property.typeName () ) ) == 0 )
0 commit comments