Qt6实例教程:Qt 3D提供的四种基本形状

Qt 3D:基本形状 C++ 示例

Qt组件推荐:

  • QtitanRibbon| 下载试用: 遵循Microsoft Ribbon UI Paradigm for Qt技术的Ribbon UI组件,致力于为Windows、Linux和Mac OS X提供功能完整的Ribbon组件。
  • QtitanChart | 下载试用 :是一个C ++库,代表一组控件,这些控件使您可以快速地为应用程序提供漂亮而丰富的图表。并且支持所有主要的桌面

Qt6实例教程:Qt 3D提供的四种基本形状

Basic Shapes显示了 Qt 3D 提供的四种基本形状:圆环、圆柱、立方体和球体。该示例还展示了如何将 Qt 3D 场景嵌入到小部件中并与其他小部件连接。

运行示例

要从Qt Creator运行示例,请打开欢迎模式并从示例中选择示例。有关更多信息,请访问构建和运行示例。

设置环面 格

例如,我们将介绍如何设置环面 格。首先,我们实例化QTorusMesh,然后我们设置 格特定参数,对于圆环来说,这些参数是半径、小半径以及环和切片的数量。

m_torus = new Qt3DExtras::QTorusMesh();m_torus->setRadius(1.0f);m_torus->setMinorRadius(0.4f);m_torus->setRings(100);m_torus->setSlices(20);

圆环的大小和位置可以通过变换组件进行调整。我们创建缩放、平移和旋转组件并将它们添加到QTransform组件中。

Qt3DCore::QTransform *torusTransform = new Qt3DCore::QTransform();torusTransform->setScale(2.0f);torusTransform->setRotation(QQuaternion::fromAxisAndAngle(QVector3D(0.0f, 1.0f, 0.0f), 25.0f));torusTransform->setTranslation(QVector3D(5.0f, 4.0f, 0.0f));

为了改变 格的漫反射颜色,我们创建一个QPhongMaterial并设置它的漫反射颜色。

Qt3DExtras::QPhongMaterial *torusMaterial = new Qt3DExtras::QPhongMaterial();torusMaterial->setDiffuse(QColor(QRgb(0xbeb32b)));

最后一步是将圆环添加到实体树中,我们通过创建QEntity具有父实体的实体并将之前创建的 格、材质和变换组件添加到其中来实现。

m_torusEntity = new Qt3DCore::QEntity(m_rootEntity);m_torusEntity->addComponent(m_torus);m_torusEntity->addComponent(torusMaterial);m_torusEntity->addComponent(torusTransform);

我们可以通过定义实体是否有父实体来控制实体的可见性。也就是说,它是否是实体树的一部分。

void SceneModifier::enableTorus(bool enabled){    m_torusEntity->setEnabled(enabled);}

====================================================

想要了解或购买Qt正版授权的朋友,欢迎咨询官方客服

Qt技术交流群现已开通,QQ搜索群 “765444821”或者扫描下方二维码即可加入

Qt6实例教程:Qt 3D提供的四种基本形状

Qt6实例教程:Qt 3D提供的四种基本形状

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年5月13日
下一篇 2021年5月13日

相关推荐

发表回复

登录后才能评论