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笔记-窗口程序在任务栏中隐藏及永久置顶

Qt笔记-Centos7搭建OpenSSL开发环境及Qt调用OpenSSL实例

windows qt学习笔记----vs新建QT工程及常见问题解决

windows qt学习笔记----vs新建QT工程及常见问题解决