diff options
Diffstat (limited to 'examples/quickcontrols/gallery/gallery.py')
-rw-r--r-- | examples/quickcontrols/gallery/gallery.py | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/examples/quickcontrols/gallery/gallery.py b/examples/quickcontrols/gallery/gallery.py new file mode 100644 index 000000000..6c2a3612e --- /dev/null +++ b/examples/quickcontrols/gallery/gallery.py @@ -0,0 +1,52 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +""" +The gallery example is a simple application with a drawer menu that contains +all the Qt Quick Controls. Each menu item opens a page that shows the +graphical appearance of a control, allows you to interact with the control, +and explains in which circumstances it is handy to use this control. +""" + +import os +import sys +import platform + +from PySide6.QtGui import QGuiApplication, QIcon +from PySide6.QtCore import QSettings, QUrl +from PySide6.QtQml import QQmlApplicationEngine +from PySide6.QtQuickControls2 import QQuickStyle + +import rc_gallery # noqa: F401 + +if __name__ == "__main__": + QGuiApplication.setApplicationName("Gallery") + QGuiApplication.setOrganizationName("QtProject") + + app = QGuiApplication() + QIcon.setThemeName("gallery") + + settings = QSettings() + if not os.environ.get("QT_QUICK_CONTROLS_STYLE"): + style_name = settings.value("style") + if style_name: + QQuickStyle.setStyle(style_name) + + engine = QQmlApplicationEngine() + + built_in_styles = ["Basic", "Fusion", "Imagine", "Material", "Universal"] + if platform.system() == "Darwin": + built_in_styles.append("macOS") + elif platform.system() == "Windows": + built_in_styles.append("Windows") + engine.setInitialProperties({"builtInStyles": built_in_styles}) + + engine.load(QUrl.fromLocalFile(":/gallery.qml")) + rootObjects = engine.rootObjects() + if not rootObjects: + sys.exit(-1) + + window = rootObjects[0] + window.setIcon(QIcon(':/qt-project.org/logos/pysidelogo.png')) + + sys.exit(app.exec()) |