Spec-Zone.ru › Qt

Изменения в датчиках Qt

Qt 6 — результат осознанных усилий по повышению эффективности и удобства использования фреймворка.

Мы стараемся поддерживать бинарную и исходную совместимость для всех публичных API в каждом релизе. Но некоторые изменения были неизбежны для улучшения Qt как фреймворка.

В этой теме мы обобщаем эти изменения в Qt Sensors и предоставляем руководство по их обработке.

Поддержка жестов датчиков

Поддержка жестов была удалена. В своем текущем виде жесты нуждаются в переосмыслении, чтобы быть более полезными для разработчиков. Следите за этим, пожалуйста, в QTBUG-95649.

Примечания к платформам

Windows

На Windows датчики поддерживаются в установках Qt, скомпилированных с MSVC.

sensorfw

У sensorfw пока нет порта под Qt 6, поэтому пока датчики в Qt 6 не поддерживаются.

TI Sensor Tag

Поддержка TI Sensor Tag удалена.

Удаленные датчики

QAltimeter, QDistanceSensor, QHolsterSensor и их аналоги QML больше не имеют реализации бэкэнда и были удалены.

QIRProximitySensor, QLidSensor и QTapSensor имеют только бэкэнд sensorfw, и поэтому в настоящее время они не указаны в качестве поддерживаемых типов датчиков.

Linux

Поддержка акселерометра в Linux sysfs была удалена. Бэкэнд не документирован и не обновлялся в течение почти 10 лет.

Изменения в API

Удален typedef для qtimestamp

Типовой дескриптор для исторического qtimestamp, из эпохи QtMobility, был удален. Используйте фактический тип quint64 напрямую.

Переименовано sensor тип строки в sensorType

Подклассы QSensor реализуют строку char const*, которая определяет строку, идентифицирующую базовый датчик. Эта статическая type переменная затеняла метод базового класса QSensor::type(), что приводило к ненужным ошибкам компиляции и последующим обходным путям. Строка type была переименована в sensorType.

Переименовано свойство LidReading::backLidChanged в backLidClosed

Имя свойства теперь согласовано со свойством frontLidClosed того же типа QML.

Добавлен параметр в QSensorBackend::sensorBusy() для возможности также очистки

состояния занятости

Свойство QSensor::busy и его метод доступа QSensor::isBusy() могут использоваться для проверки того, занят ли датчик или нет. Чтобы это свойство лучше отражало состояние бэкэнда датчика, QSensorBackend::sensorBusy() теперь принимает булевый параметр. Этот параметр busy используется для установки/снятия состояния занятости бэкэнда и уведомления присоединенного к нему интерфейса QSensor.

Значение по умолчанию для параметра QSensorBackend::sensorBusy() — true, что приводит к исходному поведению (кроме добавления эмиссии сигнала). Это означает, что в большинстве, если не во всех случаях, изменения необязательны. Вместо этого реализация каждого бэкэнда датчика должна самостоятельно решить, применимы ли эти изменения.

Свойства Sensor::type и QSensor::type помечены как константы

Свойство type не может меняться после создания экземпляра и помечено как константа как в C++, так и в QML.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qtsensors-changes-qt6.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API