到目前为止,在我的项目中,我必须将不同的数据类型存储在一个地方,最后通过一个介质字节发送它们,我总是使用自定义联合:
union union64_t
{
quint16 u16[4];
qint16 i16[4];
quint32 u32[2];
qint32 i32[2];
float f32[2];
quint64 u64;
qint64 i64;
double f64;
};
有没有办法使用Qvariant
而不是这个联盟?即使我分配了一个带有某些东西的 q 变体,即:
Qvariant test(1.25f);
如何将其提取为字节(假设它是double
或float
类型)?我将不胜感激所有的帮助。
看起来 QVariant 不支持您想要做的事情。最接近的方法是toByteArray,但它仅在原始存储的值已经是QByteArray或QString时才返回数据。