PySide6.QtPositioning.QGeoSatelliteInfoSource¶
- class QGeoSatelliteInfoSource¶
QGeoSatelliteInfoSource类是用于分发卫星信息更新的抽象基类。更多…概要¶
属性¶
minimumUpdateIntervalᅟ- 此属性保存获取卫星更新的最小时间(以毫秒为单位)updateIntervalᅟ- 此属性保存每次更新之间请求的间隔时间(以毫秒为单位)
方法¶
def
__init__()def
sourceName()def
updateInterval()
虚拟方法¶
def
error()def
requestUpdate()def
startUpdates()def
stopUpdates()
信号¶
静态函数¶
def
createSource()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
静态函数
createDefaultSource()创建一个适合平台的默认卫星数据源,如果有的话。否则,将检查可用的QGeoPositionInfoSourceFactory插件,以找到一个具有可用卫星数据源的插件。调用
startUpdates()和stopUpdates()来启动和停止定期更新,或者调用requestUpdate()来请求一次更新。当有更新可用时,satellitesInViewUpdated()和/或satellitesInUseUpdated()将被触发。如果需要定期卫星更新,可以使用
setUpdateInterval()来指定这些更新的频率。如果未指定间隔,则更新将在可用时提供。例如:// Emit updates every 10 seconds if available QGeoSatelliteInfoSource *source = QGeoSatelliteInfoSource::createDefaultSource(0); if (source) source->setUpdateInterval(10000);
要移除之前设置的更新间隔,请调用
setUpdateInterval()并将值设为0。注意
卫星源可能对更新间隔有最小值要求,如
minimumUpdateInterval()所返回的。注意
要从Android服务中使用此类,请参阅Qt Positioning on Android。
- class Error¶
Error 枚举表示可能发生的错误。
常量
描述
QGeoSatelliteInfoSource.AccessError
由于应用程序缺少所需的权限,与卫星后端的连接设置失败。
QGeoSatelliteInfoSource.ClosedError
卫星后端关闭了连接,例如当用户将定位服务关闭时会发生这种情况。此对象将变为无效并应被删除。稍后可以通过调用
createDefaultSource()来创建一个新的卫星源。QGeoSatelliteInfoSource.NoError
没有发生错误。
QGeoSatelliteInfoSource.UnknownSourceError
发生了一个未知错误。
QGeoSatelliteInfoSource.UpdateTimeoutError
无法在指定的超时时间内检索到当前的卫星信息。
注意
当使用
from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。- property minimumUpdateIntervalᅟ: int¶
此属性保存获取卫星更新所需的最短时间(以毫秒为单位)。
这是
setUpdateInterval()和requestUpdate()接受的最小值。- Access functions:
- property updateIntervalᅟ: int¶
此属性保存每次更新之间请求的间隔时间(以毫秒为单位)。
如果未设置更新间隔(或设置为0),源将根据需要尽可能频繁地提供更新。
如果设置了更新间隔,源将尽可能接近请求的间隔提供更新。如果请求的间隔小于
minimumUpdateInterval(),则使用最小间隔。更新间隔的更改将尽快生效,但更改所需的时间可能因实现而异。从前一个间隔经过的时间是否计入新间隔也取决于实现。
此属性的默认值为0。
注意
子类实现必须调用setUpdateInterval()的基本实现,以便updateInterval()返回正确的值。
- Access functions:
- static availableSources()¶
- Return type:
字符串列表
返回可用源插件列表,包括默认系统后端(如果可用)。
- backendProperty(name)¶
- Parameters:
name – str
- Return type:
对象
返回名为
name的后端特定属性的值(如果存在)。否则,返回的值将无效。另请参阅
创建并返回一个具有指定
parent的源,该源从系统的默认卫星更新信息来源读取,或从最高优先级的可用插件读取。如果系统没有默认的卫星源,没有找到有效的插件,或者用户没有权限访问卫星数据,则返回
nullptr。- static createDefaultSource(parameters, parent)
- Parameters:
parameters – 字典,键类型为 .QString,值类型为 QVariant。
parent –
QObject
- Return type:
创建并返回一个具有给定
parent的卫星源,该卫星源从系统的默认卫星数据源读取,或者从具有最高可用优先级的插件读取。如果系统没有默认的卫星源、找不到有效的插件或用户没有权限访问卫星信息,则返回
nullptr。此方法将
parameters传递给工厂以配置源。通过加载名为
sourceName的插件,创建并返回一个具有给定parent的源。如果找不到插件,则返回
nullptr。- static createSource(sourceName, parameters, parent)
- Parameters:
sourceName – str
parameters – 字典,键类型为 .QString,值类型为 QVariant。
parent –
QObject
- Return type:
通过加载名为
sourceName的插件,创建并返回一个具有给定parent的卫星源。如果找不到插件,则返回
nullptr。此方法将
parameters传递给工厂以配置源。返回最后发生的错误。
注意
自Qt6以来,调用
startUpdates()或requestUpdate()时,最后一个错误总是被重置。此信号在发生错误后发出。
satelliteError参数描述了发生的错误类型。- abstract minimumUpdateInterval()¶
- Return type:
整数
属性
minimumUpdateIntervalᅟ的获取器。- abstract requestUpdate([timeout=0])¶
- Parameters:
timeout – int
尝试获取当前卫星信息并发出
satellitesInViewUpdated()和satellitesInUseUpdated()信号,附带此信息。如果在给定的timeout(以毫秒为单位)内无法找到当前卫星信息,或者如果timeout小于minimumUpdateInterval()返回的值,则会发出带有UpdateTimeoutError的errorOccurred()信号。如果超时时间为零,则超时时间默认为适合源的合理超时期限。
如果另一个更新请求正在进行中,则此操作无效。然而,即使
startUpdates()已经被调用并且常规更新正在进行中,也可以调用它。注意
自Qt6以来,此方法在请求卫星信息之前总是将最后一个错误重置为
NoError。注意
要了解如何从Android服务中使用此方法,请参阅Qt Positioning on Android。
- satellitesInUseUpdated(satellites)¶
- Parameters:
卫星 – .QGeoSatelliteInfo 列表
如果调用了
startUpdates()或requestUpdate(),当当前使用的卫星数量有更新时,会发出此信号。这些是用于获取“定位”的卫星——即用于确定当前位置的卫星。
satellites参数保存当前正在使用的卫星。- satellitesInViewUpdated(satellites)¶
- Parameters:
卫星 – .QGeoSatelliteInfo 列表
如果调用了
startUpdates()或requestUpdate(),当当前可见的卫星上有更新时,会发出此信号。satellites参数保存当前可见的卫星。- setBackendProperty(name, value)¶
- Parameters:
name – str
value – 对象
- Return type:
布尔
将名为
name的后端特定属性设置为value。成功时返回true,否则返回false。后端特定属性可用于在运行时配置卫星信息子系统的行为。另请参阅
- setUpdateInterval(msec)¶
- Parameters:
毫秒 – 整数
另请参阅
属性
updateIntervalᅟ的设置器。- sourceName()¶
- Return type:
字符串
返回正在使用的卫星源实现的唯一名称。
这是可以传递给
createSource()的相同名称,以便创建特定卫星源实现的新实例。- abstract startUpdates()¶
开始定期发出更新。每当有新的卫星信息可用时,将提供更新。
如果无法检索到卫星信息或发生某种形式的超时,
satellitesInViewUpdated()和satellitesInUseUpdated()信号可能会以空参数列表的形式发出。注意
自Qt6以来,此方法在开始更新之前总是将最后一个错误重置为
NoError。注意
要了解如何从Android服务中使用此方法,请参阅Qt Positioning on Android。
- abstract stopUpdates()¶
停止定期发出更新。
- updateInterval()¶
- Return type:
整数
另请参阅
属性
updateIntervalᅟ的获取器。