class QGeoSatelliteInfoSource#

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

Inheritance diagram of PySide6.QtPositioning.QGeoSatelliteInfoSource

概要#

属性#

方法#

虚方法#

信号#

静态函数#

注意

这份文档可能包含自动从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 位置信息在 Android .

class Error#

Error 枚举表示可能发生的错误。

常量

描述

QGeoSatelliteInfoSource.AccessError

由于应用程序缺少所需的权限,连接到卫星后端的设置失败。

QGeoSatelliteInfoSource.ClosedError

卫星后端关闭了连接,例如,当用户将位置服务切换为关闭时。此对象变得无效,应该被删除。稍后可以通过调用 createDefaultSource() 创建一个新的卫星源。

QGeoSatelliteInfoSource.NoError

没有发生错误。

QGeoSatelliteInfoSource.UnknownSourceError

发生了未知错误。

QGeoSatelliteInfoSource.UpdateTimeoutError

无法在指定的超时时间内检索当前卫星信息。

注意

当使用 from __feature__ import true_property 时可以直接使用属性,否则通过访问器函数使用。

属性minimumUpdateIntervalᅟ: int#

此属性保留着检索卫星更新所需的最小时间(以毫秒为单位)。

这是 setUpdateInterval()requestUpdate() 所接受的最小值。

访问函数
属性updateIntervalᅟ: int#

此属性保留着每次更新之间所需的请求间隔(以毫秒为单位)。

如果没有设置更新间隔(或设置为0),则源将根据需要经常提供更新。

如果设置了更新间隔,则源将按尽可能接近请求间隔的间隔提供更新。如果请求的间隔小于 minimumUpdateInterval() ,则将使用最小间隔代替。

更新间隔的改变将在尽可能短的时间内发生,但是时间可能会因实现而异。是否将先前间隔经过的时间计入新间隔内也是实现相关的。

此属性的默认值为0。

注意

子类实现必须调用基类的 setUpdateInterval() 实现以确保 updateInterval() 返回正确的值。

访问函数
__init__(parent)#
参数:

parentQObject

静态availableSources()#
返回类型:

字符串列表

返回一个包含可用的源插件的列表,包括如果有可用的默认系统后端,也会包括它。

backendProperty(name)#
参数:

name – str

返回类型:

对象

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

另请参阅

setBackendProperty

静态createDefaultSource(parent)#
参数:

parentQObject

返回类型:

QGeoSatelliteInfoSource

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

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

static createDefaultSource(parameters, parent)
参数:
  • parameters – 键是 .QString 类型,值是 QVariant 类型的字典。

  • parentQObject

返回类型:

QGeoSatelliteInfoSource

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

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

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

static createSource(sourceName, parent)#
参数:
  • sourceName – 字符串

  • parentQObject

返回类型:

QGeoSatelliteInfoSource

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

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

static createSource(sourceName, parameters, parent)
参数:
  • sourceName – 字符串

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

  • parentQObject

返回类型:

QGeoSatelliteInfoSource

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

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

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

abstract error()#
返回类型:

错误

返回最后发生的错误。

注意

从 Qt6 开始,在调用 startUpdates()requestUpdate() 时始终重置最后错误。

errorOccurred(arg__1)#
参数:

arg__1Error

当发生错误时,发出此信号。参数 satelliteError 描述了错误的类型。

抽象 minimumUpdateInterval()#
返回类型:

int

属性minimumUpdateInterval的获取器。

抽象 requestUpdate([timeout=0])#
参数:

timeout – int

尝试获取当前卫星信息,并使用此信息触发satellitesInViewUpdated()satellitesInUseUpdated()。如果在给定的timeout(以毫秒为单位)内找不到当前卫星信息,或者如果timeout小于minimumUpdateInterval()返回的值,将发出一个含有UpdateTimeoutErrorerrorOccurred()信号。

如果超时为零,超时默认设置为适合源的一个合理时长。

如果有其他更新请求正在进行,则此操作不做任何操作。然而,即使已经调用startUpdates()并且有常规更新在进行时,也可以调用此操作。

注意

从Qt6开始,此方法在请求卫星信息之前总是将最后错误重置为NoError

注意

要了解如何从Android服务中使用此方法,请参阅Android上的Qt定位

satellitesInUseUpdated(satellites)#
参数:

satellites – QGeoSatelliteInfo列表

如果调用startUpdates()requestUpdate(),则当可用的卫星数量更新时,会触发此信号。

这些是用于获取“定位”的卫星——即,用于确定当前位置的卫星。

satellites参数持有当前正在使用的卫星。

satellitesInViewUpdated(satellites)#
参数:

satellites – QGeoSatelliteInfo列表

如果调用startUpdates()requestUpdate(),当当前视图中的卫星信息更新可用时,会发出此信号。

satellites 参数包含当前视图中的卫星。

setBackendProperty(name, value)#
参数:
  • name – str

  • - 对象

返回类型:

布尔型

将名为 name 的后端特定属性设置为 value。如果成功则返回 true,否则返回 false。后端特定属性可以用来在运行时配置卫星信息子系统的行为。

另请参阅

backEndProperty

setUpdateInterval(msec)#
参数:

msec - 整数

另请参阅

updateInterval()

updateInterval 属性的设置器。

sourceName()#
返回类型:

字符串

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

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

抽象startUpdates()#

开始以规律间隔发射更新。每当有新的卫星信息可用时,将会提供更新。

如果无法检索卫星信息或发生其他超时情况,satellitesInViewUpdated()satellitesInUseUpdated() 信号可能发出,参数列表为空。

注意

从 Qt6 开始,此方法在启动更新前总是将最后一个错误重置为 NoError

注意

要了解如何从Android服务中使用此方法,请参阅Android上的Qt定位

抽象stopUpdates()#

停止定期发送更新。

updateInterval()#
返回类型:

int

另请参阅

setUpdateInterval()

属性 updateIntervalᅟ 的获取器。