- Qt 6.6
- Qt Quick 3D
- Qt Quick 3D Examples and Tutorials
- Qt Quick 3D - Particles 3D Testbed Example
- Qt Quick 3D | Commercial or GPLv3

# Qt Quick 3D - Particles 3D Testbed Example

     // Copyright (C) 2023 The Qt Company Ltd.
     // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause

     import QtQuick
     import QtQuick.Controls

     Window {
         id: rootWindow

         readonly property url startupView: "StartupView.qml"

         width: 1280
         height: 720
         visible: true
         title: qsTr("Qt Quick 3D Particles3D Testbed")
         color: "#000000"

         Component.onCompleted: {
             AppSettings.iconSize = Qt.binding(function() {
                 return 16 + Math.max(rootWindow.width, rootWindow.height) * 0.05
             })
         }

         Loader {
             id: loader
             anchors.fill: parent
             Component.onCompleted: setSource(rootWindow.startupView, {loader: loader})
         }

         Button {
             id: backButton
             anchors.left: parent.left
             anchors.top: parent.top
             implicitWidth: AppSettings.iconSize
             implicitHeight: AppSettings.iconSize
             //height: width
             opacity: loader.source !== rootWindow.startupView
             visible: opacity
             icon.source: "qrc:/images/arrow_icon.png"
             icon.width: backButton.width * 0.3
             icon.height: backButton.height * 0.3
             icon.color: "transparent"
             background: Rectangle {
                 color: "transparent"
             }
             onClicked: {
                 loader.setSource(rootWindow.startupView, {loader: loader})
             }
             Behavior on opacity {
                 NumberAnimation {
                     duration: 400
                     easing.type: Easing.InOutQuad
                 }
             }
         }

     }