Класс 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.
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)
Устанавливает описание description для сенсора.
Обратите внимание, что эту функцию следует вызывать из конструктора, чтобы информация была доступна сразу.
T *QSensorBackend::setReading(T *reading)
Эта функция вызывается для инициализации классов reading, используемых для сенсора.
Если ваш бэкенд уже выделил значение, вы должны передать адрес этого значения в функцию. В противном случае вы должны передать 0, и функция вернет адрес значения, которое ваш бэкенд должен использовать, когда он хочет уведомить API сенсора о новых значениях.
Обратите внимание, что это шаблонная функция, поэтому ее следует вызывать с соответствующим типом.
Обратите внимание, что эту функцию необходимо вызвать, иначе вы не сможете отправлять значения в переднюю часть.
Если вы не хотите хранить адрес значения, вы можете использовать метод reading() для получения его позже.
См. также reading().
void QSensorBackend::start()
Начать отчет о значениях.
void QSensorBackend::stop()
Остановить отчет о значениях.