diff options
Diffstat (limited to 'examples/sensors/sensorsshowcase/Main.qml')
-rw-r--r-- | examples/sensors/sensorsshowcase/Main.qml | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/examples/sensors/sensorsshowcase/Main.qml b/examples/sensors/sensorsshowcase/Main.qml new file mode 100644 index 0000000..227e1cf --- /dev/null +++ b/examples/sensors/sensorsshowcase/Main.qml @@ -0,0 +1,88 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause +pragma ComponentBehavior: Bound +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts + +ApplicationWindow { + id: root + + readonly property int dynamicMargin: width / 12 + readonly property int defaultFontSize: 20 + readonly property int headingFontSize: 35 + readonly property int imageSize: width / 2 + + width: 420 + height: 760 + visible: true + title: "Sensors Showcase" + + StackView { + id: stack + + // Pushes the object and forwards the properties + function pusher(object : string) : void + { + stack.push(object, { + parentStack: stack, + fontSize: root.defaultFontSize, + headingFontSize: root.headingFontSize, + imageSize: root.imageSize + }) + } + + anchors.fill: parent + anchors.margins: root.dynamicMargin + + initialItem: Item { + ColumnLayout { + id: initialItem + + anchors.bottomMargin: (root.width < root.height) ? 2 * root.dynamicMargin : 0 + anchors.fill: parent + spacing: 5 + + Text { + Layout.bottomMargin: root.dynamicMargin + Layout.preferredWidth: parent.width + horizontalAlignment: Text.AlignHCenter + font.bold: true + font.pixelSize: root.headingFontSize + text: "Sensors Showcase" + wrapMode: Text.WordWrap + } + + component CustomButton: Button { + Layout.alignment: Qt.AlignCenter + Layout.fillHeight: true + Layout.fillWidth: true + font.pixelSize: root.defaultFontSize + highlighted: true + } + + CustomButton { + text: "Accelerometer" + onClicked: stack.pusher("Accelerometer.qml") + } + CustomButton { + text: "Proximity" + onClicked: stack.pusher("Proximity.qml") + } + CustomButton { + text: "Compass" + onClicked: stack.pusher("Compass.qml") + } + CustomButton { + text: "Magnetometer" + onClicked: stack.pusher("Magnetometer.qml") + } + CustomButton { + text: "Gyroscope" + onClicked: stack.pusher("Gyroscope.qml") + } + } + } + } + +} |