Введение в разработку приложений на платформе Atom/MeeGo для нетбуков и планшетников. Граничин О.Н - 80 стр.

UptoLike

80
Qt знает множество типов датчиков:
· акселерометр (QAccelerometer)
· магнитометр (QMagnetometer)
· компас (QCompass)
· датчик освещённости (QAmbientLightSensor)
· датчик ориентации (QOrientationSensor)
· датчик поворота (QRotationSensor)
· датчик близости (QProximitySensor)
· и др.
Каждому типу соответствует одноименный класснаследник
QSensor. Получить типы всех датчиков, имеющихся в системе,
можно с помощью статического метода:
QList<QByteArray> types = QSensor::sensorTypes ();
Кроме типа, каждый датчик имеет уникальный строковый
идентификатор, например, «n900.accelerometer». Получить
идентификаторы всех датчиков заданного типа возможно, используя
следующую конструкцию:
QList<QByteArray> sensor_ids =
QSensor::sensorsForType(types.last());
Зная тип и идентификатор датчика, можно начать с ним работу.
Рассмотрим пример акселерометра:
QAccelerometer sensor(sensor_id);
sensor.start();
// Здесь получение и обработка данных
sensor.stop();
Отметим, что ни создание объекта sensor, ни вызов его метода
start() не обязаны как-то инициализировать датчик, равно как и
вызов метода stop() не обязан датчик останавливать. Вполне
возможно, что тот же датчик давно используется каким-то другим
приложением или самой ОС. Работая с классом QSensor,
программист только добавляет нового «слушателя» для данных