PySide6.QtPositioning.QGeoSatelliteInfoSource

class QGeoSatelliteInfoSource

QGeoSatelliteInfoSource 类是用于分发卫星信息更新的抽象基类。更多

PySide6.QtPositioning.QGeoSatelliteInfoSource 的继承图

继承自: QNmeaSatelliteInfoSource

概要

属性

方法

虚拟方法

信号

静态函数

注意

本文档可能包含从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:
__init__(parent)
Parameters:

父对象QObject

static availableSources()
Return type:

字符串列表

返回可用源插件列表,包括默认系统后端(如果可用)。

backendProperty(name)
Parameters:

name – str

Return type:

对象

返回名为name的后端特定属性的值(如果存在)。否则,返回的值将无效。

另请参阅

setBackendProperty

static createDefaultSource(parent)
Parameters:

父对象QObject

Return type:

QGeoSatelliteInfoSource

创建并返回一个具有指定parent的源,该源从系统的默认卫星更新信息来源读取,或从最高优先级的可用插件读取。

如果系统没有默认的卫星源,没有找到有效的插件,或者用户没有权限访问卫星数据,则返回 nullptr

static createDefaultSource(parameters, parent)
Parameters:
  • parameters – 字典,键类型为 .QString,值类型为 QVariant。

  • parentQObject

Return type:

QGeoSatelliteInfoSource

创建并返回一个具有给定parent的卫星源,该卫星源从系统的默认卫星数据源读取,或者从具有最高可用优先级的插件读取。

如果系统没有默认的卫星源、找不到有效的插件或用户没有权限访问卫星信息,则返回nullptr

此方法将parameters传递给工厂以配置源。

static createSource(sourceName, parent)
Parameters:
  • sourceName – str

  • parentQObject

Return type:

QGeoSatelliteInfoSource

通过加载名为sourceName的插件,创建并返回一个具有给定parent的源。

如果找不到插件,则返回 nullptr

static createSource(sourceName, parameters, parent)
Parameters:
  • sourceName – str

  • parameters – 字典,键类型为 .QString,值类型为 QVariant。

  • parentQObject

Return type:

QGeoSatelliteInfoSource

通过加载名为 sourceName 的插件,创建并返回一个具有给定 parent 的卫星源。

如果找不到插件,则返回 nullptr

此方法将parameters传递给工厂以配置源。

abstract error()
Return type:

错误

返回最后发生的错误。

注意

自Qt6以来,调用startUpdates()requestUpdate()时,最后一个错误总是被重置。

errorOccurred(satelliteError)
Parameters:

satelliteErrorError

此信号在发生错误后发出。satelliteError 参数描述了发生的错误类型。

abstract minimumUpdateInterval()
Return type:

整数

属性 minimumUpdateIntervalᅟ 的获取器。

abstract requestUpdate([timeout=0])
Parameters:

timeout – int

尝试获取当前卫星信息并发出satellitesInViewUpdated()satellitesInUseUpdated()信号,附带此信息。如果在给定的timeout(以毫秒为单位)内无法找到当前卫星信息,或者如果timeout小于minimumUpdateInterval()返回的值,则会发出带有UpdateTimeoutErrorerrorOccurred()信号。

如果超时时间为零,则超时时间默认为适合源的合理超时期限。

如果另一个更新请求正在进行中,则此操作无效。然而,即使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。后端特定属性可用于在运行时配置卫星信息子系统的行为。

另请参阅

backendProperty

setUpdateInterval(msec)
Parameters:

毫秒 – 整数

另请参阅

updateInterval()

属性 updateIntervalᅟ 的设置器。

sourceName()
Return type:

字符串

返回正在使用的卫星源实现的唯一名称。

这是可以传递给createSource()的相同名称,以便创建特定卫星源实现的新实例。

abstract startUpdates()

开始定期发出更新。每当有新的卫星信息可用时,将提供更新。

如果无法检索到卫星信息或发生某种形式的超时,satellitesInViewUpdated()satellitesInUseUpdated() 信号可能会以空参数列表的形式发出。

注意

自Qt6以来,此方法在开始更新之前总是将最后一个错误重置为NoError

注意

要了解如何从Android服务中使用此方法,请参阅Qt Positioning on Android

abstract stopUpdates()

停止定期发出更新。

updateInterval()
Return type:

整数

另请参阅

setUpdateInterval()

属性 updateIntervalᅟ 的获取器。