0

私はQtが初めてです。Qt Creator demo からのサンプル プロジェクト「basicshapes」にテクスチャを追加しようとしています。それは私の必要性であるため、完璧なC++で書かれています。次のような使用されるクラスがあります。

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 { };

しかし、私はエラーが発生しました:

error: C2259: 'MyTextureImage' : cannot instantiate abstract class
due to following members:
'Qt3D::QNode *Qt3D::QNode::doClone(void) const' : is abstract
4

1 に答える 1