首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何向qt3d演示中的"basicshapes“示例添加纹理

如何向qt3d演示中的"basicshapes“示例添加纹理
EN

Stack Overflow用户
提问于 2015-08-30 19:26:05
回答 1查看 556关注 0票数 0

我是新来Qt的。我正在尝试将纹理添加到示例项目"basicshapes“中,它来自Qt Creator演示。它是用C++写的,很完美,因为这是我的需要。有一些常用的类,例如:

代码语言:javascript
复制
Qt3D::QTransform
Qt3D::QSphereMesh
Qt3D::QPhongMaterial

和许多其他的,但我不知道如何添加纹理到它。有一个片段:

代码语言:javascript
复制
Qt3D::QPhongMaterial *sphereMaterial = new Qt3D::QPhongMaterial();
sphereMaterial->setDiffuse(QColor(QRgb(0xa69929)));

所以我想补充一下:

代码语言:javascript
复制
MyTextureImage *t = new MyTextureImage();
MyTextureProvider *x = new MyTextureProvider();
x->addTextureImage(t);
sphereMaterial->setTextureParameter("SphereTexture", x);

在我从抽象类派生之前:

代码语言:javascript
复制
class MyTextureProvider : public Qt3D::QAbstractTextureProvider { };
class MyTextureImage : public Qt3D::QAbstractTextureImage { };

但是我得到了一个错误:

代码语言:javascript
复制
error: C2259: 'MyTextureImage' : cannot instantiate abstract class
due to following members:
'Qt3D::QNode *Qt3D::QNode::doClone(void) const' : is abstract
EN

回答 1

Stack Overflow用户

发布于 2015-08-30 19:39:34

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

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

我希望这能帮到你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32296033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档