簡體   English   中英

在 Qt5 中的 QWidget 中顯示 Qt3D 內容

[英]Show Qt3D stuff inside QWidget in Qt5

因此,當我讀到Qt3D重新出現在v2.0 中並且實際上很快成為Qt5的一部分並且其中的一部分已經可以作為技術預覽進行測試后,我內心感到溫暖和模糊。

我制定了一個簡單的計划,我將讓Qt3D在我現有的基於C++/widgets的應用程序中的一個小部件中工作。 然而,我能找到的唯一一個展示如何從C++使用Qt3D 的示例稱為basicshapes-cpp ,它顯示了在單獨的 OpenGL/Qt3D 准備好的window (擴展QWindow類)中呈現的一些形狀,而不是QWidget

現在我讀到了QWindowQWidget的作用以及QWindow如何巧妙地結合在一起,但我仍在努力理解如何將Qt3D代碼從basicshapes-cpp程序basicshapes-cppQWidget運行。 需要觀察的基本步驟是什么?

如果有人感興趣,我實現了一個實際的 Qt3D 小部件。 代碼可以在這里找到。

這種提取這篇文章顯示了它是如何工作:

#include <QObject>
#include <QWidget>
#include <Qt3DExtras/Qt3DWindow>

class Qt3DWidget
      : public QWidget
{
    Q_OBJECT
    QWidget *container;

public:
    explicit Qt3DWidget(QWidget *parent = nullptr);

};

Qt3DWidget::Qt3DWidget(QWidget *parent)
   : QWidget(parent)
{
    auto view = new Qt3DExtras::Qt3DWindow();

    // put Qt3DWindow into a container in order to make it possible
    // to handle the view inside a widget
    container = createWindowContainer(view,this);

    // ... further stuff goes here
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM