小编bao*_*dog的帖子

如何在标准GUI应用程序中使用Qt3D进行渲染?

我喜欢使用Qt3D,但我看到的所有示例都是全窗口应用程序.我从例子中无法理解的是如何将qt3d渲染窗口添加到常规qt gui应用程序中.

基本上我想要的是我的Qt5 Gui应用程序的一个小渲染小部件.

我查看了Qtgl小部件,但我真的想使用Qt3D的场景管理功能.

如何在qt Gui窗口内渲染为子窗口?

这可能吗?

更新

所以我把这个添加到我的MainWindow.cpp它基于这个http://blog.qt.digia.com/blog/2013/02/19/introducing-qwidgetcreatewindowcontainer/

LoadModelView *view = new LoadModelView(); //Crashes on this. Will not compile with
                                           // LoadModelView(this) 

    QWidget *container = QWidget::createWindowContainer(view);
    container->setFocusPolicy(Qt::TabFocus);

    ui->gridLayout->addWidget(container);
Run Code Online (Sandbox Code Playgroud)

这似乎是对的.

我的load_model.cpp开头是这样的:

#include "qglmaterialcollection.h"
#include "qglmaterial.h"
#include "qglscenenode.h"
#include "qgllightmodel.h"
#include "qglabstractscene.h"
#include <QtGui/qmatrix4x4.h>

#include <QPropertyAnimation>
#include <QtCore/qmath.h>

#define DEGREE_TO_RAD (3.1415926/180.0)

LoadModelView::LoadModelView(QWindow *parent)
    : QGLView(parent)
    , m_pSTLScene(0)

{
    loadModels();

    camera()->setCenter(QVector3D(0, 0, 0));
    camera()->setEye(QVector3D(0, 4, 10));
}
LoadModelView::~LoadModelView()
{

    delete m_pSTLScene;
}

void LoadModelView::paintGL(QGLPainter *painter)
{
    QMatrix4x4 stlWorld;
    stlWorld.setToIdentity();
    stlWorld.scale(0.1); …
Run Code Online (Sandbox Code Playgroud)

c++ opengl qt qt3d

13
推荐指数
1
解决办法
4565
查看次数

vert.x是否具有集中式过滤?

我是Vert.X的新手。

Vert.x是否具有用于集中式过滤器的内置工具?我的意思是您将在J2EE应用程序上使用的过滤器。

例如,所有页面都必须经过auth过滤器或类似的过滤器。

在Vert.x中是否有实现此目的的标准化方法?

vert.x

3
推荐指数
2
解决办法
3167
查看次数

标签 统计

c++ ×1

opengl ×1

qt ×1

qt3d ×1

vert.x ×1