diff options
-rw-r--r-- | src/designer/src/plugins/qquickwidget/qquickwidget_plugin.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/designer/src/plugins/qquickwidget/qquickwidget_plugin.cpp b/src/designer/src/plugins/qquickwidget/qquickwidget_plugin.cpp index cce05023a..c399c93bc 100644 --- a/src/designer/src/plugins/qquickwidget/qquickwidget_plugin.cpp +++ b/src/designer/src/plugins/qquickwidget/qquickwidget_plugin.cpp @@ -82,6 +82,13 @@ bool QQuickWidgetPlugin::isContainer() const QWidget *QQuickWidgetPlugin::createWidget(QWidget *parent) { + const auto graphicsApi = QQuickWindow::graphicsApi(); + if (graphicsApi != QSGRendererInterface::OpenGL) { + qWarning("Qt Designer: The QQuickWidget custom widget plugin is disabled because it requires OpenGL RHI (current: %d).", + int(graphicsApi)); + return {}; + } + QQuickWidget *result = new QQuickWidget(parent); connect(result, &QQuickWidget::sceneGraphError, this, &QQuickWidgetPlugin::sceneGraphError); @@ -103,12 +110,9 @@ void QQuickWidgetPlugin::initialize(QDesignerFormEditorInterface * /*core*/) QString QQuickWidgetPlugin::domXml() const { - const auto graphicsApi = QQuickWindow::graphicsApi(); - if (graphicsApi != QSGRendererInterface::OpenGLRhi) { - qWarning("Qt Designer: The QQuickWidget custom widget plugin is disabled because it requires OpenGL RHI (current: %d).", - int(graphicsApi)); + if (QQuickWindow::graphicsApi() != QSGRendererInterface::OpenGL) return {}; - } + return QStringLiteral(R"( <ui language="c++"> <widget class="QQuickWidget" name="quickWidget"> |