Класс QSensorBackend
Класс QSensorBackend представляет собой реализацию датчика. Подробнее...
| Заголовок: | #include <QSensorBackend> |
| qmake: | QT += sensors |
| С момента: | Qt 5.1 |
| Наследует: | QObject |
Этот класс был представлен в Qt 5.1.
Открытые функции
| void | addDataRate(qreal min, qreal max) |
| void | addOutputRange(qreal min, qreal max, qreal accuracy) |
| virtual bool | isFeatureSupported(QSensor::Feature feature) const |
| void | newReadingAvailable() |
| QSensorReading * | reading() const |
| QSensor * | sensor() const |
| void | sensorBusy() |
| void | sensorError(int error) |
| void | sensorStopped() |
| void | setDataRates(const QSensor *otherSensor) |
| void | setDescription(const QString &description) |
| T * | setReading(T *reading) |
| virtual void | start() = 0 |
| virtual void | stop() = 0 |
Подробное описание
Датчики на устройстве будут представлены подклассами QSensorBackend.
Документация по функциям-членам
void QSensorBackend::addDataRate(qreal min, qreal max)
Добавляет скорость передачи данных (состоящую из значений min и max) для датчика.
Обратите внимание, что эту функцию следует вызывать из конструктора, чтобы информация была доступна немедленно.
См. также QSensor::availableDataRates.
void QSensorBackend::addOutputRange(qreal min, qreal max, qreal accuracy)
Добавляет диапазон выходных данных (состоящий из значений min, max и accuracy) для датчика.
Обратите внимание, что эту функцию следует вызывать из конструктора, чтобы информация была доступна немедленно.
См. также QSensor::outputRange и QSensor::outputRanges.
[virtual] bool QSensorBackend::isFeatureSupported(QSensor::Feature feature) const
Проверяет, поддерживается ли функция этим бэкендом датчика.
Это сторона бэкенда функции QSensor::isFeatureSupported(). Переопределите эту функцию, если бэкенд поддерживает одну из дополнительных функций датчика в QSensor::Feature.
Возвращает true, если функция feature поддерживается этим бэкендом. По умолчанию реализация возвращает false.
Эта функция была представлена в Qt 5.0.
void QSensorBackend::newReadingAvailable()
Уведомить класс QSensor, что доступно новое значение.
QSensorReading *QSensorBackend::reading() const
Если бэкенд потерял ссылку на данные, он может вызвать этот метод, чтобы получить адрес.
Обратите внимание, что вам необходимо выполнить приведение типов.
См. также setReading().
QSensor *QSensorBackend::sensor() const
Возвращает фронтенд датчика, связанный с этим бэкендом.
void QSensorBackend::sensorBusy()
Уведомить фронтенд о том, что датчик занят. Это неявно вызывает sensorStopped() и обычно вызывается из start().
Обратите внимание, что фронтенд должен вызвать QSensor::isBusy(), чтобы увидеть, занят ли датчик. Если датчик остановился из-за ошибки, необходимо вызвать функцию sensorError(), чтобы уведомить класс об ошибке.
void QSensorBackend::sensorError(int error)
Уведомить фронтенд о возникновении ошибки датчика. Обратите внимание, что это только сообщает код ошибки. Это не останавливает датчик.
См. также sensorStopped().
void QSensorBackend::sensorStopped()
Уведомить фронтенд о том, что датчик остановлен. Это может быть из-за того, что start() завершился неудачно, или по какой-то непредвиденной причине (например, неисправности оборудования).
Обратите внимание, что фронтенд должен вызвать QSensor::isActive(), чтобы увидеть, остановлен ли датчик. Если датчик остановился из-за ошибки, необходимо вызвать функцию sensorError(), чтобы уведомить класс об ошибке.
void QSensorBackend::setDataRates(const QSensor *otherSensor)
Установить параметры передачи данных для датчика на основе otherSensor.
Это предназначено для датчиков, которые основаны на других датчиках.
Обратите внимание, что эту функцию необходимо вызывать из конструктора.
См. также QSensor::availableDataRates и addDataRate().
void QSensorBackend::setDescription(const QString &description)
Установить описание для датчика.
Обратите внимание, что эту функцию следует вызывать из конструктора, чтобы информация была доступна немедленно.
template <typename T> T *QSensorBackend::setReading(T *reading)
Эта функция используется для инициализации классов reading, используемых для датчика.
Если ваш бэкенд уже выделил данные, вы должны передать адрес этих данных в функцию. В противном случае вы должны передать 0, и функция вернёт адрес данных, которые ваш бэкенд должен использовать, когда он хочет уведомить API датчика о новых измерениях.
Обратите внимание, что это шаблонная функция, поэтому её следует вызывать с соответствующим типом.
Обратите внимание, что эту функцию необходимо вызвать, иначе вы не сможете отправлять данные в фронтенд.
Если вы не хотите хранить адрес данных, вы можете использовать метод reading(), чтобы получить его позже.
См. также reading().
void QSensorBackend::start()
Начать отслеживание значений.
void QSensorBackend::stop()
Остановить отслеживание значений.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qsensorbackend.html