详细说明
对于最常见的Qt数据类型,QVariant类类似于联合。
c禁止在联合中包含具有非默认构造函数或析构函数的类型,因此大多数有趣的Qt类在联合中不可用。 如果没有QVariant,这可能是问题,例如QObject : property ()或数据库工作。
QVariant对象一次一个type ) )的一个值。 (某些类型) )是多值,如字符串列表。 )找到类型t (例如可保存的,convert ) )并将其转换为其他类型,然后使用toT之一检索值。 ) )函数(例如,toSize ) )和canConvert ) )来检查是否可以将类型转换为特定类型。
名为toT (的方法(例如toInt、toString或toString ) )是const。 请求存储类型时,将返回存储对象的副本。 如果需要可以从保存的类型生成的类型(toT ) ),请复制并转换,以避免更改对象本身。 如果无法从存储类型生成所需类型,则结果因类型而异,否则结果因类型而异。 有关详细信息,请参阅功能文档。
以下是一些使用QVariant的示例。
q数据流out (.