summaryrefslogtreecommitdiff
path: root/tests/manual/multi-qquickwidgets-scene3d/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/manual/multi-qquickwidgets-scene3d/main.cpp')
-rw-r--r--tests/manual/multi-qquickwidgets-scene3d/main.cpp60
1 files changed, 60 insertions, 0 deletions
diff --git a/tests/manual/multi-qquickwidgets-scene3d/main.cpp b/tests/manual/multi-qquickwidgets-scene3d/main.cpp
new file mode 100644
index 000000000..f7a5f2ad5
--- /dev/null
+++ b/tests/manual/multi-qquickwidgets-scene3d/main.cpp
@@ -0,0 +1,60 @@
+// Copyright (C) 2022 Klaralvdalens Datakonsult AB (KDAB).
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+#include <QGuiApplication>
+
+#include <Qt3DCore/qentity.h>
+#include <QtGui/QScreen>
+
+#include <QtWidgets/QApplication>
+#include <QtWidgets/QWidget>
+#include <QtWidgets/QHBoxLayout>
+#include <QtWidgets/QSlider>
+#include <QtWidgets/QLabel>
+#include <QtWidgets/QPushButton>
+
+#include <QMainWindow>
+#include <QQuickWidget>
+
+int main(int argc, char **argv)
+{
+ qputenv("QT3D_RENDERER", "opengl");
+ qputenv("QSG_RHI_BACKEND", "opengl");
+
+ QCoreApplication::setAttribute(Qt::AA_ShareOpenGLContexts);
+ QCoreApplication::setAttribute(Qt::AA_UseDesktopOpenGL);
+
+ QSurfaceFormat format(QSurfaceFormat::defaultFormat());
+ format.setVersion(3, 3);
+ format.setProfile(QSurfaceFormat::CoreProfile);
+ format.setSamples(4);
+ format.setDepthBufferSize(24);
+ format.setStencilBufferSize(8);
+ format.setSwapInterval(0); // 0 = vsync off
+ QSurfaceFormat::setDefaultFormat(format);
+
+ QApplication app(argc, argv);
+
+ QMainWindow mainWindow;
+
+ QQuickWidget *widget1 = new QQuickWidget();
+ widget1->resize(QSize(400, 400));
+ widget1->setResizeMode(QQuickWidget::SizeRootObjectToView);
+ widget1->setSource(QUrl("qrc:/main.qml"));
+
+ QQuickWidget *widget2 = new QQuickWidget();
+ widget2->resize(QSize(400, 400));
+ widget2->setResizeMode(QQuickWidget::SizeRootObjectToView);
+ widget2->setSource(QUrl("qrc:/main2.qml"));
+
+ auto centralWidget = new QWidget;
+ auto layout = new QHBoxLayout;
+ layout->addWidget(widget1);
+ layout->addWidget(widget2);
+ centralWidget->setLayout(layout);
+ mainWindow.setCentralWidget(centralWidget);
+
+ mainWindow.show();
+
+ return app.exec();
+}