Показать материал Qt3D внутри QWidget в Qt5

Так что я чувствовал себя все тепло и нечетко внутри после чтение тот Qt3D вновь появился в v2.0 и на самом деле становится частью Qt5 скоро, и что его части уже доступны для тестирования в качестве предварительного просмотра.

Я изложил с простым планом, я бы Qt3D работая внутри виджета в моем существующем C ++ / виджеты на основе приложения. Однако единственный пример, который я смог найти, показывает, как использовать Qt3D от C ++ называется basicshapes-каст, и он показывает некоторые фигуры, отрисованные в отдельном OpenGL / Qt3D, подготовленном window (класс, который расширяется QWindow) в отличие от QWidget,

Сейчас я читаю о роли QWindow против QWidget и как все это аккуратно свисает, но я все еще пытаюсь понять, как я могу портировать Qt3D код из basicshapes-cpp программа для запуска внутри QWidget, Каковы основные шаги, которые необходимо соблюдать?

1

Решение

Это добыча эта почта показывает, как это работает:

#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
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]