Présentation des capteurs
L'exemple « Vitrine des capteurs » illustre l'utilisation des capteurs à l'aide d'exemples visuels.

Présentation
Au démarrage, l'application affiche un menu comportant des boutons correspondant aux sous-vues de chaque capteur. Les vues de capteur instancient le capteur spécifié, affichent ses valeurs sous forme de chiffres 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és de manière uniforme à l’aide d’un élément « 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 correspondant aux capteurs indisponibles.
Remarque : pour simplifier l’exemple, la disponibilité des capteurs n’est vérifiée qu’une seule fois au démarrage.
Vue de l’accéléromètre
La vue de l’accéléromètre affiche les valeurs actuelles d’accélération de l’appareil et déplace l’image d’une amplitude opposée à l’accélération de l’appareil, ce qui confère à l’image un effet d’inertie proportionnel au mouvement de l’appareil.
Le déplacement de l’image s’effectue dans la méthode ` onReadingChanged ` de l’accéléromètre.
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 fois qu’une nouvelle valeur de l’accéléromètre est disponible, les coordonnées de translation de l’image sont mises à jour en conséquence.
Vue « Proximité »
La vue « Proximité » affiche une image qui s'agrandit dès que le capteur de proximité de l'appareil est recouvert.
Affichage de la boussole
La vue « boussole » affiche une image de boussole qui pivote en fonction de la valeur relevée par le capteur de boussole, de sorte que la boussole s'oriente vers le nord.
Vue « Magnétomètre »
La vue « Magnétomètre » affiche une image d’aimant qui pivote selon un angle déterminé par la rotation du vecteur défini par les valeurs x et y du magnétomètre. Cela se traduit généralement par la même rotation que celle indiquée par la boussole, illustrant ainsi un cas d’utilisation des mesures du magnétomètre. Comme le magnétomètre fournit des mesures sur les trois axes, cela offre davantage de liberté quant à la manière dont ces mesures peuvent être exploitées.
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 du gyroscope affiche également une image pivotée autour des trois axes selon un angle calculé à partir des mesures du gyroscope. Comme le gyroscope fournit des variations de rotation relatives autour des trois axes spatiaux et que l'intervalle entre les mises à jour des mesures peut varier, l'heure des mesures est enregistrée et la variation de rotation est normalisée en fonction du temps écoulé entre les mises à jour.
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.