提问者:小点点

QVariant可以与QMatrix4x4和QVector3D等一起使用吗


tldr:我注意到QMatrix4x4QVector3D(和QVector2D)都具有以下功能:

QVariant QMatrix4x4::operator QVariant() const

是否有方法将QVariant的值作为QMatrix4x4QVector2D来获取?

上下文:

我正在用Qt和OpenGL制作一个“游戏引擎”(这更多的是尝试学习如何这样做)。 我正在自动解析着色器来找到制服,并创建一个QObject类来使用一个信号和一个插槽来以这种方式更新制服。 由于不可能混合模板和Q_OBJECT,我认为我的统一绑定类需要使用QVariants

提前感谢您的宝贵帮助。


共1个答案

匿名用户

假设v是从QMatrix4x4创建的QVariant,那么QMatrix4x4矩阵=v.value();就是您需要的; 使用v.value();,QVector3D也同样有效。

有关更多信息:QVariant#value