blob: a22e1404c99bb9bd4a6f599d2fd18e73621e887f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
pragma ComponentBehavior: Bound
import QtQuick
import QtQuick.Layouts
import QtSensors
Item {
id: root
required property int fontSize
required property int imageSize
//! [0]
Accelerometer {
id: accelerometer
property real x: 0
property real y: 0
property real z: 0
active: true
dataRate: 25
onReadingChanged: {
x = (reading as AccelerometerReading).x
y = (reading as AccelerometerReading).y
z = (reading as AccelerometerReading).z
imageTranslation.x = -x * 10
imageTranslation.y = y * 10
}
}
//! [0]
ColumnLayout {
id: layout
anchors.fill: parent
spacing: 10
Image {
id: image
Layout.alignment: Qt.AlignCenter
Layout.preferredHeight: root.imageSize
Layout.preferredWidth: root.imageSize
fillMode: Image.PreserveAspectFit
source: "images/qt_logo.png"
transform: [
Translate {
id: imageTranslation
x: 0
y: 0
}
]
}
ProgressXYZBar {
Layout.fillWidth: true
fontSize: root.fontSize
xText: "X: " + accelerometer.x.toFixed(2)
xValue: 0.5 + (accelerometer.x / 100)
yText: "Y: " + accelerometer.y.toFixed(2)
yValue: 0.5 + (accelerometer.y / 100)
zText: "Z: " + accelerometer.z.toFixed(2)
zValue: 0.5 + (accelerometer.z / 100)
}
}
}
|