QGeoCodeReply Class
QGeoCodeReply 类用于管理由QGeoCodingManager 实例启动的操作。更多内容...
| Header: | #include <QGeoCodeReply> |
| qmake: | QT += location |
| Inherits: | QObject |
公共类型
| enum | Error { NoError, EngineNotSetError, CommunicationError, ParseError, UnsupportedOptionError, …, UnknownError } |
公共函数
| QGeoCodeReply(QGeoCodeReply::Error error, const QString &errorString, QObject *parent = nullptr) | |
| virtual | ~QGeoCodeReply() |
| virtual void | abort() |
| QGeoCodeReply::Error | error() const |
| QString | errorString() const |
| bool | isFinished() const |
| qsizetype | limit() const |
| QList<QGeoLocation> | locations() const |
| qsizetype | offset() const |
| QGeoShape | viewport() const |
信号
| void | aborted() |
| void | errorOccurred(QGeoCodeReply::Error error, const QString &errorString = QString()) |
| void | finished() |
受保护函数
| QGeoCodeReply(QObject *parent = nullptr) | |
| void | addLocation(const QGeoLocation &location) |
| void | setError(QGeoCodeReply::Error error, const QString &errorString) |
| void | setFinished(bool finished) |
| void | setLimit(qsizetype limit) |
| void | setLocations(const QList<QGeoLocation> &locations) |
| void | setOffset(qsizetype offset) |
| void | setViewport(const QGeoShape &viewport) |
详细说明
QGeoCodeReply 的实例负责管理这些操作的状态和结果。
isFinished()、error() 和errorString() 方法提供有关操作是否已完成以及是否成功完成的信息。
finishedQString()、 () 和 () 方法可提供有关操作是否已完成以及是否成功完成的信息。errorOccurredQGeoCodeReply::Error
新创建的 QGeoCodeReply 实例可能处于已完成状态,最常见的原因是发生了错误。由于此类实例永远不会发出finished() 或errorOccurred(QGeoCodeReply::Error,QString) 信号,因此在连接这些信号之前,务必检查isFinished() 的返回结果。QGeoCodingManager 的文档演示了如何实现这一点。
如果操作成功完成,则可通过locations() 访问结果。
成员类型文档
enum QGeoCodeReply::Error
描述了导致操作无法完成的错误。
| 常量 | 值 | 描述 |
|---|---|---|
QGeoCodeReply::NoError | 0 | 未发生错误。 |
QGeoCodeReply::EngineNotSetError | 1 | 所使用的地理编码管理器未关联任何QGeoCodingManagerEngine 实例。 |
QGeoCodeReply::CommunicationError | 2 | 与服务提供商通信时发生错误。 |
QGeoCodeReply::ParseError | 3 | 服务提供商的响应格式无法识别。 |
QGeoCodeReply::UnsupportedOptionError | 4 | 服务提供商不支持所请求的操作或该操作的某个选项。 |
QGeoCodeReply::CombinationError | 5 | 在合并来自多个来源的结果时发生错误。 |
QGeoCodeReply::UnknownError | 6 | 发生了一个不属于其他任何类别的错误。 |
成员函数文档
[explicit protected] QGeoCodeReply::QGeoCodeReply(QObject *parent = nullptr)
使用指定的parent 构建地理编码响应。
[explicit] QGeoCodeReply::QGeoCodeReply(QGeoCodeReply::Error error, const QString &errorString, QObject *parent = nullptr)
根据给定的error 和errorString ,以及指定的parent ,构建一个地理编码响应。
[virtual noexcept] QGeoCodeReply::~QGeoCodeReply()
销毁此回复对象。
[virtual] void QGeoCodeReply::abort()
立即取消该操作。
如果响应已完成,此操作将不产生任何效果。
另请参阅 aborted()。
[signal] void QGeoCodeReply::aborted()
当操作被取消时,会发出此信号。
另请参阅 abort()。
[protected] void QGeoCodeReply::addLocation(const QGeoLocation &location)
将location 添加到此回复中的位置列表中。
QGeoCodeReply::Error QGeoCodeReply::error() const
返回此响应的错误状态。
如果结果为QGeoCodeReply::NoError ,则表示未发生错误。
另请参阅 setError()。
[signal] void QGeoCodeReply::errorOccurred(QGeoCodeReply::Error error, const QString &errorString = QString())
当在处理此响应时检测到错误时,将发出此信号。随后可能会发出finished()信号。
该错误将由错误代码 `error` 描述。如果 `errorString ` 不为空,则其中将包含该错误的文本描述。
该信号和QGeoCodingManager::errorOccurred() 将同时发出。
注意:请 勿在与该信号关联的槽中删除此回复对象。请改用deleteLater()。
QString QGeoCodeReply::errorString() const
返回此响应的错误状态的文本表示形式。
如果未发生错误,则返回空字符串。也可能发生了没有关联文本表示形式的错误,这种情况下也会返回空字符串。
要确定是否发生了错误,请检查QGeoCodeReply::error() 是否等于QGeoCodeReply::NoError 。
[signal] void QGeoCodeReply::finished()
当此响应处理完成后,将发出此信号。
如果error()的值等于QGeoCodeReply::NoError ,则表示处理已成功完成。
该信号和QGeoCodingManager::finished()将同时发出。
注意:请 勿在连接到该信号的插槽中删除此响应对象。请改用deleteLater()。
另请参阅 setFinished()。
bool QGeoCodeReply::isFinished() const
如果操作成功完成,或者遇到导致操作中止的错误,则返回 true。
qsizetype QGeoCodeReply::limit() const
返回每个数据源的响应数量上限。
如果未设置限制,该函数将返回 -1。
如果响应数量少于请求数量,则该值可能大于 `locations()`.`length()` 的返回值。
另请参阅 setLimit()。
QList<QGeoLocation> QGeoCodeReply::locations() const
返回一个位置列表。
这些位置是生成此响应的QGeoCodingManager 函数所对应操作的结果。
另请参阅 setLocations()。
qsizetype QGeoCodeReply::offset() const
返回从整个结果集中的哪个偏移量位置开始提取结果。
另请参阅 setOffset()。
[protected] void QGeoCodeReply::setError(QGeoCodeReply::Error error, const QString &errorString)
将此响应的错误状态设置为error ,并将错误的文本表示设置为errorString 。
这还将按此顺序触发errorOccurred() 和finished() 信号。
另请参阅 error()。
[protected] void QGeoCodeReply::setFinished(bool finished)
用于设置是否已向finished 发送了回复完成信号。
如果finished 为真,这将触发finished() 信号。
如果操作成功完成,应在调用本函数之前先调用QGeoCodeReply::setLocations()。如果发生错误,则应改用QGeoCodeReply::setError()。
另请参阅 finished()。
[protected] void QGeoCodeReply::setLimit(qsizetype limit)
将每个数据源的响应数量限制设置为limit 。
如果limit 为 -1,则将返回所有可用的响应。
另请参阅 limit()。
[protected] void QGeoCodeReply::setLocations(const QList<QGeoLocation> &locations)
设置回复中的locations 列表。
另请参阅 locations()。
[protected] void QGeoCodeReply::setOffset(qsizetype offset)
将整个结果集开始获取结果的偏移量设置为offset 。
另请参阅 offset()。
[protected] void QGeoCodeReply::setViewport(const QGeoShape &viewport)
将包含结果的视口设置为viewport 。
另请参阅 viewport()。
QGeoShape QGeoCodeReply::viewport() const
返回包含结果的视口。
如果在创建此响应的QGeoCodingManager 函数中未指定视口偏移量,则该函数将返回nullptr 。
另请参阅 setViewport()。
© 2026 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.