这里加载了obj文件。程序运行截图如下:

感觉还不错,Qt自己封装了OpenGL,Qt开发者只需要依靠逻辑进行调用即可。

关键代码如下:

using namespace QtDataVisualization;Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget)
{ui->setupUi(this);this->setWindowTitle("CSDN IT1995");Q3DScatter *graph = new Q3DScatter();QWidget *container = QWidget::createWindowContainer(graph);if (!graph->hasContext()) {QMessageBox msgBox;msgBox.setText("Couldn't initialize the OpenGL context.");msgBox.exec();return;}//添加数据QCustom3DItem *item = new QCustom3DItem();item->setScaling(QVector3D(0.03f, 0.03f, 0.03f));item->setMeshFile(":/img/oo.obj");qDebug() << "The ret is : " << graph->addCustomItem(item);//设置到控件上QHBoxLayout *hLayout = new QHBoxLayout();hLayout->addWidget(container, 1);ui->widget->setLayout(hLayout);
}

这里主要逻辑是,先使用QtDataVisualization命名空间。

首先构造一个Q3Dcatter,随后将其套个套子,这个套子名为QWidget。

再把Q3Dcatter中添加QCustom3DItem,构建obj模型文件。

最后把这个套子加入布局中,布局再放到可拖拽的界面中。

源码下载地址:

https://github.com/fengfanchen/Qt/tree/master/3DScatter%20Demo

Qt笔记-Q3DScatter及QCustom3DItem的基本使用相关推荐

  1. Qt笔记-Q3DScatter中元素的移动和旋转

    程序运行截图如下: 这里的主要框架为Q3DScatter 首先是设置范围,免得随机生成坐标时,坐标系不停的变: 使用QScatter3DSeries生成一串的item.方便显示在m_graph中 使用 ...

  2. 05黑马QT笔记之自定义槽函数

    05黑马QT笔记之自定义槽函数 1 自定义槽函数其实不难,没什么好说的,注意以下几点便可. 自定义参函数注意事项(Qt5): * 1)自定义槽函数可以是类成员函数(用得最多).全局普通函数.静态函数. ...

  3. 02黑马QT笔记之完全手写Hello World

    02黑马QT笔记之完全手写Hello World 1 步骤: 1 新建项目. 2 选择其他项目->空项目. 3 在空项目中添加QT +=widgets //代表使用窗口基类. 4 右击项目名字- ...

  4. Qt笔记(三十七)之解决QWebSocket收发中文乱码问题

    一.前言 之前介绍了基于QWebSocket实现的的服务端和客户端: Qt笔记(三十五)之QWebSocket简单使用(1)-实现服务端 Qt笔记(三十六)之QWebSocket简单使用(2)-实现客 ...

  5. QT笔记第0篇__Qt基本介绍

    QT笔记第0篇__Qt基本介绍 一.引言 二.Qt简介 三.特点: 四.相关网址 五.参考资料 一.引言 由于算法的实现过程中常常需要制作一些demo来进行功能展示,最开始打算用mfc,于是看了一段几 ...

  6. Qt笔记(五十四)之Activate控件开发

    一.Activate控件简介(内容摘自自百度) ActiveX控件是Microsoft的ActiveX技术的一部分.ActiveX控件是可以在应用程序和网络中计算机上重复使用的程序对象.创建它的主要技 ...

  7. Qt笔记-解决Q3DScatter加载QCustom3DItem时Cannot open the file问题

    Qt在撸3D程序的时候,这里使用c++去撸,不使用qml. 这里使用QCustom3DItem,然后使用Q3DScatter去加载的时候. 会出现这样的问题, qDebug() << &q ...

  8. QT的Q3DScatter类的使用

    详细说明 Q3DScatter类提供了用于渲染3D散点图的方法. 此类使开发人员可以在3D中渲染散点图,并通过自由旋转场景来查看散点图. 按住鼠标右键并移动鼠标即可完成旋转. 缩放是通过鼠标滚轮完成的 ...

  9. Qt笔记-QTcpSocket跨线程调用(官方推荐方法,非百度烂大街方法)

    TCP服务端的经典案例中有个例子,就是当收到TCP客户端连接后,线程池直接开一个线程然后把这个socket指针传到线程里面,依靠新开的线程进程业务处理. 但在Qt里面使用这个方式后,会报一个QTcpS ...

最新文章

  1. 兵团教师计算机水平考试免考条件,兵团职称计算机考试政策.doc
  2. 使用shell脚本实现自动SSH互信功能
  3. linux下PHP7环境搭建
  4. iconfont图标_除了iconfont,UI设计师还可以使用的免费图标库!
  5. php if语句的缩写 实例
  6. MATLAB绘图辅助操作
  7. libjpeg学习2:内存篇
  8. mqtt js 中乱码_ES6中模块导入遇到的问题及其解决办法
  9. 利用aiowebsocket库爬取websocket实例:莱特币官网
  10. linux下安装在线mysql,嵌入式 Linux下安装Mysql离线和在线安装
  11. 51nod 1174 区间最大值(RMQ and 线段树)
  12. 接口测试通用测试用例
  13. VelocityTracker 滑动速度跟踪器 简介
  14. 优达前端课程免费分享
  15. 面试官:Java的重写和重载有什么区别?
  16. 设计链表python(leetcode707)
  17. 贝塞尔曲线(Bezier Curve)
  18. ASO时,选词应该如何做?aso关键词如何选词
  19. cygwin里安装apt-cyg网络工具及使用
  20. k8s 部署 owncloud

热门文章

  1. android传感器实现摇一摇功能
  2. 三十、详测 Generics Collections: TObjectList、TObjectQueue、TObjectStack
  3. 魔改和上线你的合成大西瓜,最全教程!
  4. C语言知识分享:面向对象和面向过程到底是怎么回事?
  5. NOTEPAD大神是否鄙视一切IDE?
  6. 飞鸽传书网站最新改版
  7. 新浪uc2010官方下载
  8. 文件拖放的一种简洁方法
  9. 读他:男人最怕听的十句话
  10. 想加入IT行业为何建议你学Python,学完真值!