首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么QVariant::type()应该被解释为QMetaType::Type时返回QVariant::Type?

为什么QVariant::type()应该被解释为QMetaType::Type时返回QVariant::Type?
EN

Stack Overflow用户
提问于 2015-08-14 12:02:46
回答 1查看 425关注 0票数 4

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

返回存储在变体中的值的存储类型。尽管此函数声明为返回QVariant::Type,但返回值应解释为QMetaType::类型。特别是,只有当值等于或大于QMetaType::User时,才会在这里返回QVariant::UserType。

如果是这样的话,他们为什么一开始就不声明返回QMetaType::Type呢?这样看来只会带来不必要的混乱。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-20 10:27:00

首先是QVariant,它为支持的类型提供了一个type枚举。然后出现了QMetaType,它为支持的类型提供了自己的type枚举。

因此,QVariant被更改了,类型对齐了,因此可以不推荐它自己的type枚举,并且它将依赖于QMetaType来获取类型信息。但是,由于源代码兼容性的原因,返回类型无法更改。

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32009630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档