如何从qt3d演示中为“basicshapes”示例添加纹理

时间:2015-08-30 11:26:05

标签: c++ qt3d

我是Qt的新人。 我正在尝试将纹理添加到示例项目“basicshapes”中,该项目来自Qt Creator演示。 它用C ++编写,是完美的,因为这是我的需要。 使用的类如:

div.items div.item:nth-child(n+51) {
  background: yellow;
} 

和其他许多人 但我无法意识到如何为它添加纹理。 有一个片段:

Qt3D::QTransform
Qt3D::QSphereMesh
Qt3D::QPhongMaterial

所以我试图添加:

Qt3D::QPhongMaterial *sphereMaterial = new Qt3D::QPhongMaterial();
sphereMaterial->setDiffuse(QColor(QRgb(0xa69929)));

在我从抽象类派生之前:

MyTextureImage *t = new MyTextureImage();
MyTextureProvider *x = new MyTextureProvider();
x->addTextureImage(t);
sphereMaterial->setTextureParameter("SphereTexture", x);

但我收到了错误:

class MyTextureProvider : public Qt3D::QAbstractTextureProvider { };
class MyTextureImage : public Qt3D::QAbstractTextureImage { };

1 个答案:

答案 0 :(得分:0)

我不是Qt的专家,但是通过查看编译器错误,您需要覆盖doClone方法,因为它被限定为纯虚拟。

有关编译器错误的更多信息,请访问MSDN:https://msdn.microsoft.com/en-us/library/zxt206sk.aspx

我希望这会有所帮助。