Qt Sensors - QML Example

QtSensors - QML example demonstrates the QML sensors types in the QtSensors 导入。

Qt Sensors in QML

To write a QML application that will use the QML sensors types in the QtSensors import you need to to the following steps:

Import the QtSensors declarative plugin:


 import QtSensors
					

Add the Sensor QML types into your qml file.

In this example we use the TiltSensor :


 TiltSensor {
     id: tilt
     active: false
 }
					

The Tilt-, AmbientLight- and the Proximity QML sensor types have the 'enabled' property in common. To start or stop the sensor set this property to true or false.


 tilt.active = (tiltStart.text === "Start");
					

Reading the data can be done for each sensor type like following:

TiltSensor


 text: "X Rotation: " + (tilt.reading ? tilt.reading.xRotation.toFixed(2) + "°" : "Unknown")
 text: "Y Rotation: " + (tilt.reading ? tilt.reading.yRotation.toFixed(2) + "°" : "Unknown")
					

AmbientLightSensor


 onReadingChanged: {
     if (reading.lightLevel == AmbientLightReading.Dark)
         ambientlighttext.text = "Ambient light: Dark";
     else if (reading.lightLevel == AmbientLightReading.Twilight)
         ambientlighttext.text = "Ambient light: Twilight";
     else if (reading.lightLevel == AmbientLightReading.Light)
         ambientlighttext.text = "Ambient light: Light";
     else if (reading.lightLevel == AmbientLightReading.Bright)
         ambientlighttext.text = "Ambient light: Bright";
     else if (reading.lightLevel == AmbientLightReading.Sunny)
         ambientlighttext.text = "Ambient light: Sunny";
     else
         ambientlighttext.text = "Ambient light: Unknown";
 }
					

ProximitySensor


 text: "Proximity: " +
       (proxi.active ? (proxi.reading.near ? "Near" : "Far") : "Unknown")
					

范例工程 @ code.qt.io