qmlqtsensors.qml Example File
qmlqtsensors/qmlqtsensors.qml
import QtQuick 2.0
import "components"
import QtSensors 5.0
ApplicationWindow {
id: appWnd
Rectangle {
id: mainWnd
x: 0
y: 0
width: 320
height: 480
color: "transparent"
property string speed: "Slow"
Text {
id: labelTitle
anchors.top: mainWnd.top
anchors.topMargin: 5
anchors.left: mainWnd.left
anchors.right: mainWnd.right
horizontalAlignment: Text.AlignHCenter
font.pixelSize: 30
font.bold: true
text: "QML QtSensors"
}
Rectangle {
id: tiltLine
anchors.top: labelTitle.bottom
anchors.topMargin: 5
anchors.left: mainWnd.left
anchors.leftMargin: 5
anchors.right: mainWnd.right
anchors.rightMargin: 5
border.width: 1
height: 1
border.color: "#888888"
}
Text {
id: labelTilt
anchors.top: tiltLine.bottom
anchors.topMargin: 5
anchors.left: mainWnd.left
anchors.right: mainWnd.right
horizontalAlignment: Text.AlignHCenter
font.bold: true
text: "TiltSensor"
}
TiltSensor {
id: tilt
active: false
}
Rectangle {
Button {
id: calibrate
anchors.left: mainWnd.left
anchors.leftMargin: 5
anchors.top: speedRect.bottom
height: 30
width: 80
text: "Calibrate"
onClicked:{
tilt.calibrate();
}
}
Button {
id: tiltStart
anchors.top: calibrate.bottom
anchors.left: mainWnd.left
anchors.leftMargin: 5
height: 30
width: 80
text: tilt.active ? "Stop" : "Start"
onClicked:{
tilt.active = (tiltStart.text === "Start");
}
}
Text {
id: xrottext
anchors.right: mainWnd.right
anchors.rightMargin: 5
anchors.left: useRadian.right
anchors.leftMargin: 15
anchors.top: useRadian.top
anchors.bottom: useRadian.bottom
verticalAlignment: Text.AlignVCenter
text: "X Rotation: " + tilt.xRotation + "°"
}
Text {
id: yrottext
anchors.right: mainWnd.right
anchors.rightMargin: 5
anchors.left: tiltStart.right
anchors.leftMargin: 15
anchors.top: tiltStart.top
anchors.bottom: tiltStart.bottom
verticalAlignment: Text.AlignVCenter
text: "Y Rotation: " + tilt.yRotation + "°"
}
Rectangle {
id: ambientlightLine
anchors.top: tiltStart.bottom
anchors.topMargin: 5
anchors.left: mainWnd.left
anchors.leftMargin: 5
anchors.right: mainWnd.right
anchors.rightMargin: 5
border.width: 1
height: 1
border.color: "#888888"
}
Text {
id: labelAmbientLight
anchors.top: ambientlightLine.bottom
anchors.topMargin: 5
anchors.left: mainWnd.left
anchors.right: mainWnd.right
horizontalAlignment: Text.AlignHCenter
font.bold: true
text: "AmbientLightSensor"
}
AmbientLightSensor {
id: ambientlight
active: false
onReadingChanged: {
if (reading.lightLevel == AmbientLightSensor.Unknown)
ambientlighttext.text = "Ambient light: Unknown";
else if (reading.lightLevel == AmbientLightSensor.Dark)
ambientlighttext.text = "Ambient light: Dark";
else if (reading.lightLevel == AmbientLightSensor.Twilight)
ambientlighttext.text = "Ambient light: Twilight";
else if (reading.lightLevel == AmbientLightSensor.Light)
ambientlighttext.text = "Ambient light: Light";
else if (reading.lightLevel == AmbientLightSensor.Bright)
ambientlighttext.text = "Ambient light: Bright";
else if (reading.lightLevel == AmbientLightSensor.Sunny)
ambientlighttext.text = "Ambient light: Sunny";
}
}
Button{
id: ambientlightStart
anchors.top: labelAmbientLight.bottom
anchors.topMargin: 5
anchors.left: mainWnd.left
anchors.leftMargin: 5
height: 30
width: 80
text: ambientlight.active ? "Stop" : "Start"
onClicked: {
ambientlight.active = (ambientlightStart.text === "Start" ? true: false);
}
}
Text {
id: ambientlighttext
anchors.left: ambientlightStart.right
anchors.leftMargin: 15
anchors.top: ambientlightStart.top
anchors.bottom: ambientlightStart.bottom
verticalAlignment: Text.AlignVCenter
text: "Ambient light: -"
}
Rectangle {
id: proximityLine
anchors.top: ambientlightStart.bottom
anchors.topMargin: 5
anchors.left: mainWnd.left
anchors.leftMargin: 5
anchors.right: mainWnd.right
anchors.rightMargin: 5
border.width: 1
height: 1
border.color: "#888888"
}
Text {
id: labelProximityLight
anchors.top: proximityLine.bottom
anchors.topMargin: 5
anchors.left: mainWnd.left
anchors.right: mainWnd.right
horizontalAlignment: Text.AlignHCenter
font.bold: true
text: "ProximitySensor"
}
ProximitySensor {
id: proxi
active: false
}
Button{
id: proxiStart
anchors.top: labelProximityLight.bottom
anchors.topMargin: 5
anchors.left: mainWnd.left
anchors.leftMargin: 5
height: 30
width: 80
text: proxi.active ? "Stop" : "Start"
onClicked: {
proxi.active = (proxiStart.text === "Start" ? true: false);
}
}
Text {
id: proxitext
anchors.left: proxiStart.right
anchors.leftMargin: 15
anchors.top: proxiStart.top
anchors.bottom: proxiStart.bottom
verticalAlignment: Text.AlignVCenter
text: "Proximity: " + (proxi.reading.near ? "near" : "far")
}
}
}
}