QSensor Class
QSensor 类代表一个硬件传感器。更多
头文件: | #include <QSensor> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Sensors) target_link_libraries(mytarget PRIVATE Qt6::Sensors) |
qmake: | QT += sensors |
继承: | QObject |
继承于 |
公共类型
enum | AxesOrientationMode { FixedOrientation, AutomaticOrientation, UserOrientation } |
enum | Feature { Buffering, AlwaysOn, SkipDuplicates, GeoValues, FieldOfView, …, AxesOrientation } |
属性
|
|
公共功能
QSensor(const QByteArray &type, QObject *parent = nullptr) | |
virtual | ~QSensor() |
void | addFilter(QSensorFilter *filter) |
qrangelist | availableDataRates() const |
QSensor::AxesOrientationMode | axesOrientationMode() const |
int | bufferSize() const |
bool | connectToBackend() |
int | currentOrientation() const |
int | dataRate() const |
QString | description() const |
int | efficientBufferSize() const |
int | error() const |
QList<QSensorFilter *> | filters() const |
QByteArray | identifier() const |
bool | isActive() const |
bool | isAlwaysOn() const |
bool | isBusy() const |
bool | isConnectedToBackend() const |
bool | isFeatureSupported(QSensor::Feature feature) const |
int | maxBufferSize() const |
int | outputRange() const |
qoutputrangelist | outputRanges() const |
QSensorReading * | reading() const |
void | removeFilter(QSensorFilter *filter) |
void | setActive(bool active) |
void | setAlwaysOn(bool alwaysOn) |
void | setAxesOrientationMode(QSensor::AxesOrientationMode axesOrientationMode) |
void | setBufferSize(int bufferSize) |
void | setCurrentOrientation(int currentOrientation) |
void | setDataRate(int rate) |
void | setEfficientBufferSize(int efficientBufferSize) |
void | setIdentifier(const QByteArray &identifier) |
void | setMaxBufferSize(int maxBufferSize) |
void | setOutputRange(int index) |
void | setSkipDuplicates(bool skipDuplicates) |
void | setUserOrientation(int userOrientation) |
bool | skipDuplicates() const |
QByteArray | type() const |
int | userOrientation() const |
公共插槽
信号
void | activeChanged() |
void | alwaysOnChanged() |
void | availableSensorsChanged() |
void | axesOrientationModeChanged(QSensor::AxesOrientationMode axesOrientationMode) |
void | bufferSizeChanged(int bufferSize) |
void | busyChanged() |
void | currentOrientationChanged(int currentOrientation) |
void | dataRateChanged() |
void | efficientBufferSizeChanged(int efficientBufferSize) |
void | identifierChanged() |
void | maxBufferSizeChanged(int maxBufferSize) |
void | readingChanged() |
void | sensorError(int error) |
void | skipDuplicatesChanged(bool skipDuplicates) |
void | userOrientationChanged(int userOrientation) |
静态公共成员
QByteArray | defaultSensorForType(const QByteArray &type) |
QList<QByteArray> | sensorTypes() |
QList<QByteArray> | sensorsForType(const QByteArray &type) |
相关非成员
详细说明
传感器的生命周期通常是
- 在堆栈或堆上创建 QSensor 子类。
- 根据应用要求进行设置。
- 开始接收数值。
- 应用程序使用传感器数据。
- 停止接收数值。
传感器数据通过QSensorReading 及其子类传送。
方向
有些传感器会对屏幕方向变化做出反应,如QAccelerometer 、QMagnetometer 和QRotationSensor 。这些传感器被称为可定向传感器。对于可定向传感器,QSensor 支持根据屏幕方向更改读数值报告。
对于可定向传感器,axesOrientationMode 属性可控制方向如何影响读数值。
在默认模式QSensor::FixedOrientation 下,读数值不受方向影响。在QSensor::AutomaticOrientation 模式下,读数值会根据当前屏幕方向自动旋转。最后,在QSensor::UserOrientation 模式下,阅读值将根据用户指定的方向进行旋转。
只有在后端支持且传感器可定向的情况下才能使用该功能,可通过调用带有QSensor::AxesOrientation 标志的QSensor::isFeatureSupported() 进行检查。
这里的方向值始终是屏幕方向,而不是设备方向。屏幕方向是图形用户界面的方向。例如,当设备逆时针旋转 90 度时,屏幕方向会通过顺时针旋转 90 度进行补偿,从而使设备旋转后图形用户界面仍保持直立。请注意,应用程序可以锁定屏幕方向,例如强制纵向或横向模式。对于锁定的方向,如果设备方向发生变化,可定向传感器将不会对读数变化做出反应,因为可定向传感器只对屏幕方向变化做出反应。这是有道理的,因为可定向传感器的目的是使传感器方向与屏幕方向保持同步。
方向值范围为 0 至 270 度。方向值按顺时针方向应用,例如,方向值为 90 度意味着屏幕从原点向右旋转 90 度,以补偿设备向左旋转 90 度。
另请参阅 QSensorReading 。
成员类型文档
enum QSensor::AxesOrientationMode
说明读数值如何受屏幕方向的影响。
常数 | 值 | 说明 |
---|---|---|
QSensor::FixedOrientation | 0 | 读数值不会自动旋转。 |
QSensor::AutomaticOrientation | 1 | 读取值根据屏幕方向自动旋转。 |
QSensor::UserOrientation | 2 | 读数值根据userOrientation 属性的角度旋转。 |
另请参阅 QSensor::axesOrientationMode 。
enum QSensor::Feature
列出后端可能支持的可选功能。
所有传感器类型通用的功能有
常量 | 值 | 描述 |
---|---|---|
QSensor::Buffering | 0 | 后端支持读数缓冲,由QSensor::bufferSize 属性控制。 |
QSensor::AlwaysOn | 1 | 后端支持更改是否在空闲时暂停的策略,由QSensor::alwaysOn 属性控制。 |
QSensor::SkipDuplicates | 5 | 后端支持跳过相同或非常相似的连续读数。可通过将QSensor::skipDuplicates 属性设置为 true 来启用该功能。 |
QMagnetometer 的功能包括
常数 | 值 | 说明 |
---|---|---|
QSensor::GeoValues | 2 | 后台支持返回地理位置值,可通过QMagnetometer::returnGeoValues 属性进行控制。 |
QLightSensor 的特点是
常量 | 值 | 说明 |
---|---|---|
QSensor::FieldOfView | 3 | 后端指定其视场,可从QLightSensor::fieldOfView 属性中读取。 |
QAccelerometer 的特点是
常量 | 值 | 说明 |
---|---|---|
QSensor::AccelerationMode | 4 | 后端支持通过QAccelerometer::accelerationMode 属性切换加速器的加速模式。 |
QPressureSensor 的特点是
常量 | 值 | 说明 |
---|---|---|
QSensor::PressureSensorTemperature | 7 | 后台提供压力传感器的模具温度 |
所有可定向传感器的特征如下:
常量 | 值 | 说明 |
---|---|---|
QSensor::AxesOrientation | 6 | 后台支持将坐标轴方向从默认的QSensor::FixedOrientation 改为其他方向。 |
另请参阅 QSensor::isFeatureSupported().
属性文档
active : bool
该属性包含一个值,用于指示传感器是否处于活动状态。
如果传感器处于活动状态(返回值),则该值为 true。否则为假。
请注意,将此值设置为 true 不会立即生效。相反,一旦到达事件循环,传感器就会启动。
访问功能:
bool | isActive() const |
void | setActive(bool active) |
通知信号:
void | activeChanged() |
alwaysOn : bool
此属性包含一个值,用于指示传感器是否应在屏幕关闭时继续运行。
某些平台的策略是在屏幕关闭时暂停传感器。将此属性设置为 true 将确保传感器继续运行。
访问功能:
bool | isAlwaysOn() const |
void | setAlwaysOn(bool alwaysOn) |
通知信号:
void | alwaysOnChanged() |
[read-only]
availableDataRates : const qrangelist
此属性保存传感器支持的数据速率。
这是传感器支持的数据速率列表。单位为赫兹。
列表中的条目可以代表离散速率或连续速率范围。离散速率通过两个值相同来表示。
请注意,此信息不是强制性的,因为并非所有传感器都有自己的运行速率。在这种情况下,列表将为空。
访问功能:
qrangelist | availableDataRates() const |
另请参阅 QSensor::dataRate 和qrangelist 。
axesOrientationMode : AxesOrientationMode
此属性表示影响屏幕方向如何改变读数值的模式。
当设置为FixedOrientation (默认模式)时,读数不会自动旋转。对于不支持QSensor::AxesOrientation 功能的后端,这是唯一可用的模式。
当设置为AutomaticOrientation 时,当屏幕方向改变时,读数值将自动旋转。实际上,屏幕方向被抵消了。
举例来说,假设设备旋转了 180 度,因此屏幕方向也从原始方向旋转了 180 度。如果没有自动轴定向功能,读取值将会发生变化:X 和 Y 值都会被否定,应用程序开发人员不得不在应用程序代码中手动取消否定。自动坐标轴定位功能可自动完成这一操作,在这种模式下,X 和 Y 值将与默认屏幕方向相同。
这种轴的自动旋转在某些情况下非常方便,例如在气泡水平仪应用程序中,它可以通过观察加速度计的 X 轴值来测量表面的水平度。当设备和屏幕方向改变 90 度时,应用程序开发人员不需要做任何改变,即使设备旋转了,他也可以继续使用 X 轴值。如果没有自动轴定位功能,应用程序开发人员就需要查看 Y 轴值,从而在应用程序中添加代码,根据屏幕方向读取不同的轴值。
UserOrientation 模式与AutomaticOrientation 非常相似,只是屏幕方向是手动控制的,而不是自动确定的。userOrientation 属性的角度用于旋转读取值。
由于读数值的旋转是基于屏幕方向,因此 Z 值永远不会改变,因为 Z 轴与屏幕垂直。由于屏幕方向以 90 度为单位变化,因此读数值的旋转也以 90 度为单位。
此属性仅用于可定向传感器。
访问功能:
QSensor::AxesOrientationMode | axesOrientationMode() const |
void | setAxesOrientationMode(QSensor::AxesOrientationMode axesOrientationMode) |
通知信号:
void | axesOrientationModeChanged(QSensor::AxesOrientationMode axesOrientationMode) |
bufferSize : int
该属性表示缓冲区的大小。默认情况下,缓冲区大小为 1,表示无缓冲。如果最大缓冲区大小为 1,则传感器不支持缓冲。
设置缓冲区大小大于maxBufferSize 将导致使用maxBufferSize 。
当缓冲区大小大于 1 时,缓冲将打开。 传感器将收集所请求的样本数量,并一次性将它们全部传送到应用程序。它们将以读数变化脉冲串的形式发送到应用程序,因此应用程序立即处理每个读数或将数值保存到其他地方尤为重要。
如果在缓冲正在进行时调用stop() ,则不会交付部分缓冲。
当使用缓冲选项启动传感器时,将从那时起开始收集数值。没有预先存在的缓冲区可以利用。
有些后端只支持启用或禁用缓冲区,而不提供对缓冲区大小的控制。在这种情况下,即使支持缓冲,也可能根本不设置maxBufferSize 和efficientBufferSize 属性。将缓冲区大小(bufferSize)属性设置为任何大于 1 的值都将启用缓冲。传感器启动后,后端会将缓冲区大小属性设置为实际值。
访问功能:
int | bufferSize() const |
void | setBufferSize(int bufferSize) |
通知信号:
void | bufferSizeChanged(int bufferSize) |
另请参阅 QSensor::maxBufferSize 和QSensor::efficientBufferSize 。
[read-only]
busy : const bool
该属性包含一个值,用于指示传感器是否繁忙。
有些传感器可能在系统中,但无法使用。如果传感器忙,此函数将返回 true。您将无法start() 传感器。
请注意,如果您正在使用传感器,此函数不会返回 true,只有当其他进程正在使用传感器时才会返回 true。
访问功能:
bool | isBusy() const |
通知信号:
void | busyChanged() |
另请参阅 busyChanged() 。
[read-only]
connectedToBackend : const bool
该属性的值表示传感器是否已连接到后端。
未连接到后台的传感器无法执行任何有用的操作。
调用connectToBackend() 方法可强制传感器立即连接到后端。如果调用start() 方法,该方法将被自动调用,因此只有在需要访问传感器属性(即在使用前轮询传感器的元数据)时才需要调用该方法。
访问功能:
bool | isConnectedToBackend() const |
[read-only]
currentOrientation : const int
该属性保存当前用于旋转读数值的方向。
这可能与屏幕方向不同。例如,在FixedOrientation 模式下,读数值不会旋转,因此该属性为 0。
在UserOrientation 模式中,读数根据userOrientation 属性旋转,因此该属性等于userOrientation 属性。
在AutomaticOrientation 模式下,读数根据屏幕方向旋转,因此该属性等于当前屏幕方向。
该属性由后台设置,仅对可定向传感器有效。
访问功能:
int | currentOrientation() const |
通知信号:
void | currentOrientationChanged(int currentOrientation) |
dataRate : int
该属性保存传感器运行时的数据传输速率。
单位为赫兹。
数据速率是传感器可检测变化的最大频率。
设置此属性不具有可移植性,可能会与其他应用程序发生冲突。请查阅传感器后端和平台文档,了解有关多个应用程序请求数据速率的政策。
默认值 (0) 表示应用程序不关心数据速率。应用程序应考虑使用定时器轮询当前值,或确保处理值的代码能够快速运行,因为平台可能每秒提供数百次更新。
该值应在调用start() 之前设置,因为传感器在运行时可能不会注意到该值的变化。
请注意,没有任何机制可以确定平台当前使用的数据传输速率。
访问功能:
int | dataRate() const |
void | setDataRate(int rate) |
通知信号:
void | dataRateChanged() |
另请参见 QSensor::availableDataRates 。
[read-only]
description : const QString
该属性包含传感器的描述性字符串。
访问功能:
QString | description() const |
[read-only]
efficientBufferSize : const int
该属性表示最有效的缓冲区大小。通常为 1(这意味着没有特定的大小是最有效的)。有些传感器驱动程序有一个先进先出缓冲区,这样就能更有效地一次性提供相当于先进先出缓冲区大小的读数。
访问功能:
int | efficientBufferSize() const |
通知信号:
void | efficientBufferSizeChanged(int efficientBufferSize) |
另请参见 QSensor::bufferSize 和QSensor::maxBufferSize 。
[read-only]
error : const int
此属性保存传感器上设置的最后一个错误代码。
请注意,错误代码与传感器有关。
访问功能:
int | error() const |
通知信号:
void | sensorError(int error) |
identifier : QByteArray
此属性保存传感器的后端标识符。
请注意,该标识符会在传感器连接到后端时自动填写。如果要连接特定的后端,应在connectToBackend() 之前调用 setIdentifier()。
访问功能:
QByteArray | identifier() const |
void | setIdentifier(const QByteArray &identifier) |
通知信号:
void | identifierChanged() |
[read-only]
maxBufferSize : const int
该属性保存最大缓冲区大小。
请注意,该值可能为 1,在这种情况下,传感器不支持任何形式的缓冲。在这种情况下,isFeatureSupported(QSensor::Buffering) 也将返回 false。
访问功能:
int | maxBufferSize() const |
通知信号:
void | maxBufferSizeChanged(int maxBufferSize) |
另请参见 QSensor::bufferSize 和QSensor::efficientBufferSize 。
outputRange : int
该属性保存传感器使用的输出范围。
该值表示QSensor::outputRanges 列表中要使用的索引。
设置此属性不可移植,可能会与其他应用程序发生冲突。有关多个应用程序请求一个输出范围的政策,请查阅传感器后端和平台文档。
默认值 (-1) 表示应用程序不关心输出范围。
请注意,没有任何机制可以确定平台使用的当前输出范围。
访问功能:
int | outputRange() const |
void | setOutputRange(int index) |
另请参阅 QSensor::outputRanges 。
[read-only]
outputRanges : const qoutputrangelist
此属性包含传感器支持的输出范围列表。
传感器可以有多个输出范围。通常情况下,这样做的目的是以降低精度为代价获得更大的测量范围。
请注意,此信息不是强制性的。该信息通常只适用于具有可选输出范围的传感器(如典型的加速度计)。
访问功能:
qoutputrangelist | outputRanges() const |
另请参阅 QSensor::outputRange 和qoutputrangelist 。
[read-only]
reading : QSensorReading* const
该属性包含读数类。
读取类提供对传感器读数的访问。读取对象是已接收到的最新传感器读数的易失性缓存,因此应用程序应立即处理读数,或将数值保存在某处以备日后处理。
请注意,在传感器后端连接到后端之前,该对象将返回 0。
还要注意的是,调用start() 后,读数不会立即可用。应用程序必须等待readingChanged() 信号发出。
访问功能:
QSensorReading * | reading() const |
Notifier 信号:
void | readingChanged() |
另请参阅 isConnectedToBackend() 和start()。
skipDuplicates : bool
表示是否应省略重复读数值。
启用重复跳过后,具有相同或非常相似值的连续读数将被省略。这有助于减少处理量,因为可用的传感器读数更少。因此,读数会以不规则的间隔到达。
重复跳过不仅适用于完全相同的读数,也适用于非常相似的读数,因为即使设备没有移动,每个传感器也会有一些抖动。
对该属性的支持取决于后端。请使用isFeatureSupported() 检查当前平台是否支持。
重复跳过默认为禁用。
重复跳过在传感器启动时生效,在传感器处于活动状态时更改该属性不会立即生效。
访问功能:
bool | skipDuplicates() const |
void | setSkipDuplicates(bool skipDuplicates) |
通知信号:
void | skipDuplicatesChanged(bool skipDuplicates) |
[read-only]
type : const QByteArray
该属性表示传感器的类型。
访问功能:
QByteArray | type() const |
userOrientation : int
该属性用于保存在UserOrientation 模式下旋转读数的角度。
当axesOrientationMode 属性设置为UserOrientation 时,读数值的旋转角度取自该属性。在其他模式下,该属性不起作用。
默认值为 0。唯一有效的值是 0、90、180 和 270,因为这些是唯一可能的屏幕方向。
该属性仅对可定向传感器有效。
访问功能:
int | userOrientation() const |
void | setUserOrientation(int userOrientation) |
Notifier 信号:
void | userOrientationChanged(int userOrientation) |
成员函数 文档
[explicit]
QSensor::QSensor(const QByteArray &type, QObject *parent = nullptr)
构建type 传感器,作为parent 的子类。
如果存在特定传感器类型的派生类,请勿使用此构造函数。
错误的方法是使用基类构造函数:
QSensor *magnetometer = new QSensor(QMagnetometer::sensorType, this);
正确的方法是创建派生类的实例:
QMagnetometer *magnetometer = new QMagnetometer(this);
派生类具有某些功能所需的附加属性和数据成员,例如QMagnetometer 中的地理值支持或QAccelerometer 中的加速度模式支持。只有从 QSensor 子类创建传感器实例时,这些功能才能正常工作。
只有在没有可用的派生传感器类时,才能使用此构造函数。请注意,所有内置传感器都有派生类,因此只有在实现自定义传感器时才有必要使用此构造函数。
[virtual noexcept]
QSensor::~QSensor()
销毁传感器。如果传感器尚未停止,则将其停止。
[signal]
void QSensor::activeChanged()
该信号在QSensor::active 属性发生变化时发出。
注: 属性active 的通知信号。
另请参阅 QSensor::active 。
void QSensor::addFilter(QSensorFilter *filter)
向传感器添加filter 。
传感器并不拥有过滤器的所有权。如果过滤器被销毁,QSensorFilter 会通知传感器。
另请参阅 QSensorFilter 。
[signal]
void QSensor::alwaysOnChanged()
alwaysOn 属性发生变化时发出该信号。
注: 属性alwaysOn 的通知信号。
[signal]
void QSensor::availableSensorsChanged()
当可用传感器列表发生变化时,就会发出该信号。程序可用的传感器一般不会随时间发生变化,但某些可用传感器可能代表并非永久连接的硬件。例如,通过蓝牙连接的游戏控制器打开时可用,关闭时则不可用。
另请参阅 QSensor::sensorTypes() 和QSensor::sensorsForType()。
[signal]
void QSensor::busyChanged()
当传感器不再忙时会发出该信号。当传感器可用时,可使用此信号抓取传感器。
sensor.start(); if (sensor.isBusy()) { // need to wait for busyChanged signal and try again }
注: 用于属性busy 的通知信号。
[invokable]
bool QSensor::connectToBackend()
尝试连接传感器后端。
如果能找到合适的后端,则返回 true,否则返回 false。
如果直接使用QSensor ,则必须在调用此方法前设置类型。
注: 可通过元对象系统和 QML 调用此函数。参见Q_INVOKABLE 。
另请参阅 isConnectedToBackend() 。
[static]
QByteArray QSensor::defaultSensorForType(const QByteArray &type)
返回type 的默认传感器标识符。该标识符在配置文件中设置,可根据需要更改。如果没有可用的默认值,系统将返回type 的第一个注册传感器。
请注意,有一种特殊情况逻辑可防止通用插件的后端在为同一类型注册另一个后端时成为默认后端。这一逻辑意味着,以generic.
开头的后端标识符只有在没有其他后端为该类型注册或在Sensors.conf
中指定的情况下才会成为默认。
另请参阅 确定类型的默认传感器。
QList<QSensorFilter *> QSensor::filters() const
返回当前连接到传感器的滤波器。
另请参阅 QSensorFilter 。
[invokable]
bool QSensor::isFeatureSupported(QSensor::Feature feature) const
检查后端是否支持特定功能。
QtSensors 后端支持丰富的应用程序接口,用于控制和提供有关传感器的信息。当然,并非所有后端都支持所有这些功能。
要检查当前后端是否支持feature 功能,请调用此函数。
后端必须已连接,否则将返回 false。调用connectToBackend() 或start() 将创建与后端之间的连接。
后端必须实现QSensorBackend::isFeatureSupported() 才能正常工作。
如果后端已连接,则返回是否支持该功能;如果后端未连接,则返回 false。
注: 可通过元对象系统和 QML 调用此函数。请参阅Q_INVOKABLE 。
[signal]
void QSensor::readingChanged()
当接收到新的传感器读数时,就会发出该信号。
传感器读数可在QSensor::reading 属性中找到。请注意,读数对象是一个易失性缓存,缓存了最近收到的传感器读数,因此应用程序应立即处理读数,或将读数值保存在某处以备日后处理。
在该信号首次发出之前,读取对象将有未初始化的数据。
注: 用于属性reading 的通知信号。
另请参阅 start() 。
void QSensor::removeFilter(QSensorFilter *filter)
从传感器上删除filter 。
另请参阅 QSensorFilter 。
[signal]
void QSensor::sensorError(int error)
当传感器上设置了error 代码时,就会发出该信号。请注意,某些错误会导致传感器停止工作。您应该调用isActive() 来确定传感器是否仍在运行。
注: 用于属性error 的通知信号。
[static]
QList<QByteArray> QSensor::sensorTypes()
返回所有传感器类型的列表。
[static]
QList<QByteArray> QSensor::sensorsForType(const QByteArray &type)
返回type 中每个传感器的 id 列表。如果没有该类型的传感器,则列表为空。
void QSensor::setCurrentOrientation(int currentOrientation)
将当前屏幕方向设置为currentOrientation 。每当屏幕方向或userOrientation 属性发生变化时,后台都会调用该命令。
另请参阅 currentOrientation() 。
void QSensor::setEfficientBufferSize(int efficientBufferSize)
将有效缓冲区的大小设置为efficientBufferSize 。这是从后台调用的。
另请参阅 efficientBufferSize() 。
void QSensor::setMaxBufferSize(int maxBufferSize)
将最大缓冲区大小设置为maxBufferSize 。该命令由后台调用。
另请参阅 maxBufferSize() 。
void QSensor::setSkipDuplicates(bool skipDuplicates)
将重复跳转设置为skipDuplicates 。
注: 属性skipDuplicates 的设置函数。
另请参阅 skipDuplicates() 。
[signal]
void QSensor::skipDuplicatesChanged(bool skipDuplicates)
skipDuplicates 属性发生变化时发出该信号。
注: 属性skipDuplicates 的通知信号。
[slot]
bool QSensor::start()
开始从传感器获取数值。如果传感器已启动,则返回 true,否则返回 false。
传感器启动失败的原因有多种。
应用程序启动传感器后,必须等到传感器接收到新值后才能查询传感器的值。这是由于传感器从系统接收值的方式造成的。一般来说,传感器不会轮询新值,而是在发生新值时将其推送到传感器。
例如,这段代码将无法正常工作。
sensor->start(); sensor->reading()->x(); // no data available
要正常工作,访问读数的代码应确保readingChanged() 信号已发出。
connect(sensor, SIGNAL(readingChanged()), this, SLOT(checkReading())); sensor->start(); } void MyClass::checkReading() { sensor->reading()->x();
另请参见 QSensor::busy 。
[slot]
void QSensor::stop()
停止从传感器获取数值。
这将释放传感器,以便其他进程可以使用它。
另请参阅 QSensor::busy 。
相关非会员
[alias]
qoutputrangelist
该类型定义为 qoutputrange 值列表。
typedef QList<qoutputrange> qoutputrangelist;
另请参见 QList,qoutputrange, 和QSensor::outputRanges 。
[alias]
qrange
该类型定义为QPair 。
typedef QPair<int,int> qrange;
另请参见 QPair、qrangelist 和QSensor::availableDataRates 。
[alias]
qrangelist
该类型定义为 qrange 值列表。
typedef QList<qrange> qrangelist;
另请参见 QList,qrange, 和QSensor::availableDataRates 。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.