为什么QVariant::type()返回一个QVariant::type,而它应该被解释为QMetaType:: ty



关于QVariant::type()的文档说:

返回存储在变量中的值的存储类型。虽然这个函数被声明为返回QVariant::Type,但是返回值应该被解释为QMetaType::Type。特别地,只有当值等于或大于QMetaType::User时,才返回QVariant::UserType。

好吧,如果是这样,为什么他们不首先声明它返回QMetaType::Type ?那样似乎只会带来不必要的混乱。

文档没有解释声明函数返回错误类型的原因,有人知道这些原因可能是什么吗?

首先是带有type枚举的QVariant,用于支持的类型。然后是QMetaType,为支持的类型提供了自己的type enum。

所以QVariant被改变了,类型对齐了,所以它自己的type enum可以被弃用,它将依赖于QMetaType的类型信息。但是,由于源代码兼容性原因,不能更改返回类型。

返回类型可能会为Qt6更改,但源不兼容的更改是根据情况决定的,因此必须讨论更改的影响和好处。

相关内容

  • 没有找到相关文章

最新更新