什么是QVariant,何时应该使用它?

16

QVariant是什么?何时应该使用?


9
你应该真正接受一些答案并撰写更好的问题。 - 0xbaadf00d
2个回答

12

QVariant 用于存储你不确定其内部内容的值的引用。它是创建能接受 "任何东西" 作为未知类型引用的 API 的一种方式。例如,你可以只有一个接受 QVariant 的 API,而不必为 long、int、float 和 string 分别提供不同的 API。

然后在需要特定类型的更复杂函数(如 QSettings)中,你可以从返回的 Variant 中提取所需的内容。


7

QVariant是一个变量容器,可以存储不同类型的变量。在某种程度上类似于void*,但它提供了存储的类型信息。

例如,它可以用于从函数中返回不同类型的值。


我会说它像是一个空指针 void* 存储感兴趣的值的容器。它提供了一些额外的功能,帮助您将包含的对象转换回原始类型(例如,您可以查询该对象的类型,如果它是您需要的类型(例如 QString),则可以要求 QVariant 为您将其包含的值转换回 QString)。 - michaelmoo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接