diff options
author | Dennis Oberst <dennis.oberst@qt.io> | 2023-04-12 13:44:25 +0200 |
---|---|---|
committer | Dennis Oberst <dennis.oberst@qt.io> | 2023-04-26 08:58:48 +0000 |
commit | aec41a55ab717eac1e29b50952c9bf37341692f4 (patch) | |
tree | 9daa9cbd771b32b040062c77cdaf1485b70c6d89 /examples/sensors/sensorsshowcase/Compass.qml | |
parent | 080823ec04f111ff82ae2fcfd5e2b98c4f6a722e (diff) | |
download | qtsensors-aec41a55ab717eac1e29b50952c9bf37341692f4.tar.gz |
Example: revamp sensorsshowcase
Updated the example to align with the Qt6 Example-Guideline.
https://wiki.qt.io/Qt6/Example-Guideline
Pick-to: 6.5
Task-number: QTBUG-111254
Change-Id: I8d8028ab5351cd801c8ce5126b1ebe5f2d0f4e50
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Diffstat (limited to 'examples/sensors/sensorsshowcase/Compass.qml')
-rw-r--r-- | examples/sensors/sensorsshowcase/Compass.qml | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/examples/sensors/sensorsshowcase/Compass.qml b/examples/sensors/sensorsshowcase/Compass.qml new file mode 100644 index 0000000..b3f0653 --- /dev/null +++ b/examples/sensors/sensorsshowcase/Compass.qml @@ -0,0 +1,77 @@ +// 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 +import QtSensors + +Item { + id: root + + property alias headingFontSize: heading.font.pixelSize + required property StackView parentStack + required property int fontSize + required property int imageSize + + property real azimuth: 30 + + Compass { + id: compass + active: true + dataRate: 7 + onReadingChanged: root.azimuth = -(reading as CompassReading).azimuth + } + + ColumnLayout { + id: layout + + anchors.fill: parent + spacing: 10 + + Text { + id: heading + Layout.preferredWidth: parent.width + horizontalAlignment: Text.AlignHCenter + wrapMode: Text.Wrap + text: "Compass" + } + + Image { + id: arrow + + Layout.alignment: Qt.AlignHCenter + Layout.preferredWidth: root.imageSize * 1.25 + Layout.fillHeight: true + + source: "images/compass.svg" + fillMode: Image.PreserveAspectFit + rotation: root.azimuth + } + + Rectangle { + id: separator + + Layout.topMargin: 10 + Layout.preferredWidth: parent.width * 0.75 + Layout.preferredHeight: 1 + Layout.alignment: Qt.AlignHCenter + color: "black" + } + + Text { + id: info + Layout.fillWidth: true + Layout.fillHeight: true + Layout.topMargin: 10 + text: "Azimuth: " + root.azimuth.toFixed(2) + "°" + font.pixelSize: root.fontSize + } + + Button { + Layout.fillWidth: true + onClicked: root.parentStack.pop() + text: "Back" + } + } +} |