diff --git a/tests/manual/iconbrowser/CMakeLists.txt b/tests/manual/iconbrowser/CMakeLists.txt index eb304d25a23..f6793beaf46 100644 --- a/tests/manual/iconbrowser/CMakeLists.txt +++ b/tests/manual/iconbrowser/CMakeLists.txt @@ -14,6 +14,20 @@ qt_internal_add_manual_test(iconbrowser Qt::WidgetsPrivate ) +if (TARGET Qt::Quick) +find_package(Qt6 COMPONENTS QuickWidgets REQUIRED) + +qt_add_qml_module(iconbrowser + URI main + VERSION 1.0 + QML_FILES "Main.qml" + NO_RESOURCE_TARGET_PATH +) +target_link_libraries(iconbrowser PRIVATE + Qt6::QuickWidgets +) +endif() + if (ANDROID) set(font_filename "MaterialIcons-Regular.ttf") if (QT_ALLOW_DOWNLOAD) diff --git a/tests/manual/iconbrowser/Main.qml b/tests/manual/iconbrowser/Main.qml new file mode 100644 index 00000000000..4f27b1b1282 --- /dev/null +++ b/tests/manual/iconbrowser/Main.qml @@ -0,0 +1,31 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 + +import QtQuick +import QtQuick.Controls + +Rectangle { + anchors.fill: parent + Column { + Row { + ToolButton { + id: normalButton + icon.name: iconName.text + } + ToolButton { + id: disabledButton + enabled: false + icon.name: iconName.text + } + ToolButton { + id: checkedButton + checked: true + icon.name: iconName.text + } + } + TextField { + id: iconName + text: "folder" + } + } +} diff --git a/tests/manual/iconbrowser/main.cpp b/tests/manual/iconbrowser/main.cpp index 8acff69fa21..a87cb462f4f 100644 --- a/tests/manual/iconbrowser/main.cpp +++ b/tests/manual/iconbrowser/main.cpp @@ -6,6 +6,10 @@ #include #include +#ifdef QT_QUICKWIDGETS_LIB +#include +#endif + using namespace Qt::StringLiterals; class IconModel : public QAbstractItemModel @@ -547,6 +551,21 @@ int main(int argc, char* argv[]) widget.addTab(new IconView(&model), "QStyle"); widget.addTab(new IconView(&model), "QPlatformTheme"); +#ifdef QT_QUICKWIDGETS_LIB + QQuickWidget *quickBrowser = new QQuickWidget; + quickBrowser->setSource(QUrl(u"qrc:/Main.qml"_s)); + quickBrowser->setResizeMode(QQuickWidget::SizeRootObjectToView); + widget.addTab(quickBrowser, "Qt Quick"); + QObject::connect(quickBrowser, &QQuickWidget::statusChanged, quickBrowser, + [](QQuickWidget::Status status){ + qDebug() << status; + }); + QObject::connect(quickBrowser, &QQuickWidget::sceneGraphError, quickBrowser, + [](QQuickWindow::SceneGraphError error, const QString &message){ + qDebug() << error << message; + }); +#endif + widget.show(); return app.exec(); }