Qt笔记-Q3DScatter及QCustom3DItem的基本使用
Posted IT1995
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt笔记-Q3DScatter及QCustom3DItem的基本使用相关的知识,希望对你有一定的参考价值。
这里加载了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的基本使用的主要内容,如果未能解决你的问题,请参考以下文章
关于 Q3DScatter嵌套进设置了Qt::FramelessWindowHint(触摸自定义标题栏)时进行演示时出现渲染黑色区域 的解决方法
基于 Q3DScatter 的自定义图表,QCustom3DItem 变慢
Qt笔记-Centos7搭建OpenSSL开发环境及Qt调用OpenSSL实例