Présentation des capteurs
L'exemple Sensors Showcase démontre l'utilisation des capteurs à l'aide d'exemples visuels.

Vue d'ensemble
Au démarrage, l'application affiche un menu avec des boutons pour les sous-vues de chaque capteur. Les vues des capteurs instancient le capteur donné, affichent les valeurs du capteur sous forme de nombres et les visualisent également à l'aide d'une représentation graphique simple.
Menu principal
La vue principale affiche le titre avec le nom de l'application et un bouton pour chaque sous-vue disposé uniformément par un ColumnLayout. Un StackView gère la navigation entre les sous-vues et le menu principal. L'application vérifie la disponibilité des capteurs au démarrage et désactive les boutons pour les capteurs qui ne sont pas disponibles.
Remarque : pour simplifier l'exemple, la disponibilité des capteurs n'est vérifiée qu'une seule fois au cours du démarrage.
Vue de l'accéléromètre
La vue de l'accéléromètre montre les valeurs d'accélération actuelles de l'appareil et déplace l'image d'une quantité opposée à l'accélération de l'appareil, ce qui donne à l'image un effet d'inertie proportionnel au mouvement de l'appareil.
Le déplacement de l'image s'effectue selon la méthode de l'accéléromètre onReadingChanged.
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 } }
À chaque nouvelle valeur de l'accéléromètre, les coordonnées de translation de l'image sont mises à jour en conséquence.
Vue de proximité
La vue de proximité affiche une image qui est agrandie lorsque le capteur de proximité de l'appareil est couvert.
Vue de la boussole
La vue de la boussole montre une image de boussole qui est tournée en fonction de la valeur de lecture du capteur de boussole, ce qui fait tourner la boussole vers le nord.
Vue magnétomètre
La vue du magnétomètre affiche une image d'aimant qui est tournée autour d'une valeur déterminée par l'angle de rotation du vecteur donné par les valeurs x et y du magnétomètre. Il en résulte généralement la même rotation que celle donnée par la boussole, ce qui illustre un cas d'utilisation des relevés du magnétomètre. Étant donné que le magnétomètre fournit des relevés sur les trois axes, la liberté d'utilisation de ces relevés est plus grande.
Magnetometer { id: magnetometer active: true dataRate: 25 onReadingChanged: { root.magnetometerX = (reading as MagnetometerReading).x root.magnetometerY = (reading as MagnetometerReading).y root.magnetometerZ = (reading as MagnetometerReading).z root.magnetRotation = ((Math.atan2(root.magnetometerX, root.magnetometerY) / Math.PI) * 180) } }
Vue du gyroscope

La vue gyroscopique montre également une image qui est tournée autour de trois axes avec une valeur calculée à partir des relevés du gyroscope. Étant donné que le gyroscope fournit une variation relative de la rotation autour des trois axes spatiaux et que le temps entre les mises à jour des relevés peut varier, l'heure des relevés est stockée et la variation de la rotation est normalisée sur la base du temps écoulé entre les mises à jour des relevés.
Gyroscope { id: gyroscope property var lastTimeStamp: 0 property real x: 0 property real y: 0 property real z: 0 active: true dataRate: 25 onReadingChanged: { x = (reading as GyroscopeReading).x y = (reading as GyroscopeReading).y z = (reading as GyroscopeReading).z let firstCall = false if (lastTimeStamp == 0) { firstCall = true } let timeSinceLast = reading.timestamp - lastTimeStamp lastTimeStamp = reading.timestamp //Skipping the initial time jump from 0 if (firstCall === true) return let normalizedX = x * (timeSinceLast / 1000000) imageXRotation.angle += normalizedX let normalizedY = y * (timeSinceLast / 1000000) imageYRotation.angle -= normalizedY let normalizedZ = z * (timeSinceLast / 1000000) imageZRotation.angle += normalizedZ } }
En appuyant sur le bouton de réinitialisation, la rotation de l'image est remise à 0.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.