QSensorBackend 类
QSensorBackend 类是一个传感器实现。 更多信息...
头文件 | #include <QSensorBackend> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Sensors) target_link_libraries(mytarget PRIVATE Qt6::Sensors) |
qmake | QT += sensors |
继承 | QObject |
公共函数
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(bool busy = true) |
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 |
成员函数文档
void QSensorBackend::addDataRate(qreal min, qreal max)
为传感器添加数据速率(由最小和最大值组成)。
注意,应从构造函数中调用此函数,以确保信息立即可用。
另请参阅QSensor::availableDataRates。
void QSensorBackend::addOutputRange(qreal min, qreal max, qreal accuracy)
为传感器添加输出范围(由最小和最大值以及精度组成)。
注意,应从构造函数中调用此函数,以确保信息立即可用。
另请参阅QSensor::outputRange 和 QSensor::outputRanges。
[虚拟]
bool QSensorBackend::isFeatureSupported(QSensor::Feature feature) const
检查此传感器后端是否支持该功能。
这是 QSensor::isFeatureSupported 的后端部分。如果后端支持 QSensor::Feature 的附加传感器功能之一,则重新实现此函数。
返回该后台是否支持功能 feature。默认实现返回 false。
void QSensorBackend::newReadingAvailable()
通知 QSensor 类有新的读数可用。
QSensorReading *QSensorBackend::reading() const
如果后端失去了对读取的引用,可以通过调用此方法获取地址。
注意,您需要将该类型转换为适当的类型。
另请参阅 setReading().
QSensor *QSensorBackend::sensor() const
返回与此后端关联的传感器前端。
void QSensorBackend::sensorBusy(bool busy = true)
根据提供的 busy 参数通知前端传感器的忙碌状态。
如果传感器设置为 busy,则隐式调用 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 设置传感器的数据速率。
此功能旨在针对基于其他传感器的传感器。
setDataRates(otherSensor);
请注意,必须从构造函数中调用此函数。
另请参阅 QSensor::availableDataRates 和 addDataRate().
void QSensorBackend::setDescription(const QString &描述)
设置传感器的描述。
注意,应从构造函数中调用此函数,以确保信息立即可用。
T *QSensorBackend::setReading(T *reading)
此函数用于初始化用于传感器的reading类。
如果您的后端已经分配了reading,则应将此地址传递给该函数。否则,您应传递0,函数将返回后端在想要通知传感器API新读取的数据时应使用的读取数据的地址。
注意,这是一个模板函数,因此应使用适当的数据类型调用它。
class MyBackend : public QSensorBackend { QAccelerometerReading m_reading; public: MyBackend(QSensor *sensor) : QSensorBackend(sensor) { setReading<QAccelerometerReading>(&m_reading); } ...
请注意,必须调用此函数,否则您将无法向前端发送读取数据。
如果您不希望存储读取数据的地址,您可以使用reading()方法稍后再次获取它。
class MyBackend : public QSensorBackend { public: MyBackend(QSensor *sensor) : QSensorBackend(sensor) { setReading<QAccelerometerReading>(0); } void poll() { quint64 timestamp; qreal x, y, z; ... QAccelerometerReading *reading = static_cast<QAccelerometerReading*>(reading()); reading->setTimestamp(timestamp); reading->setX(x); reading->setY(y); reading->setZ(z); } ...
另请参阅reading()。
[纯虚函数]
void QSensorBackend::start()
开始报告值。
[纯虚函数]
void QSensorBackend::stop()
停止报告值。
© 2024 Qt公司有限公司。本文件中包含的文档贡献的版权属于其各自的拥有者。提供的文档许可如下面自由软件基金会发布的GNU自由文档许可证版本1.3的条款。Qt及其相应标志是芬兰和/或世界范围内Qt有限公司的注册商标。所有其他商标均为其各自所有者的财产。