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ᅟ
的获取器。