mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-17 00:09:36 -04:00
While QVariant::Type can be directly static_cast to QMetaType::Type, the reverse is not true and many QMetaType::Type values don't have exact counterparts in QVariant::Type. So we use the logic: - If no conversion is possible, QVariant::UserType will be returned. Note that we don't use QVariant::Invalid, as the value DOES have a type, it's just one which needs special handling (just like user types do) - Some conversions are lossy, in that the QVariant::Type cannot represent the full range of values possible in QMetaType::Type. In these cases the returned type will be an "expanded" type capable of storing the full range of values possible in the original type. Eg we map QMetaType::Type::Float to QVariant::Type::Double QgsVariantUtils::variantTypeToMetaType is included for clarity/ completeness/future proof-ness, even though it currently can be handled with just a simple static cast.