QPlaceReply Class
QPlaceReply 类负责管理由QPlaceManager 实例启动的操作,并作为更专业化的回复类的基类。更多内容...
| Header: | #include <QPlaceReply> |
| qmake: | QT += location |
| Inherits: | QObject |
| Inherited By: | QPlaceContentReply, QPlaceDetailsReply, QPlaceIdReply, QPlaceMatchReply, QPlaceSearchReply, and QPlaceSearchSuggestionReply |
公共类型
| enum | Error { NoError, PlaceDoesNotExistError, CategoryDoesNotExistError, CommunicationError, ParseError, …, UnknownError } |
| enum | Type { Reply, DetailsReply, SearchReply, SearchSuggestionReply, ContentReply, …, MatchReply } |
公共函数
| QPlaceReply(QObject *parent = nullptr) | |
| virtual | ~QPlaceReply() |
| QPlaceReply::Error | error() const |
| QString | errorString() const |
| bool | isFinished() const |
| virtual QPlaceReply::Type | type() const |
公共槽
| virtual void | abort() |
信号
| void | aborted() |
| void | contentUpdated() |
| void | errorOccurred(QPlaceReply::Error error, const QString &errorString = QString()) |
| void | finished() |
受保护函数
| void | setError(QPlaceReply::Error error, const QString &errorString) |
| void | setFinished(bool finished) |
详细说明
QPlaceReply 及其每个特化子类负责管理其对应操作的状态和结果。QPlaceReply 本身用于没有结果的操作,也就是说,只需知道操作是成功还是失败即可。
finished() 信号可用于监视操作的进度。操作完成后,error() 和errorString() 方法将提供操作是否成功完成的信息。如果成功,回复将包含该操作的结果,也就是说,每个子类都将提供相应的函数来获取操作结果。
另请参阅 QPlaceManager 。
成员类型文档
enum QPlaceReply::Error
描述操作过程中发生的错误。
| 常量 | 值 | 描述 |
|---|---|---|
QPlaceReply::NoError | 0 | 未发生错误 |
QPlaceReply::PlaceDoesNotExistError | 1 | 找不到指定的位置 |
QPlaceReply::CategoryDoesNotExistError | 2 | 找不到指定的类别 |
QPlaceReply::CommunicationError | 3 | 与服务提供商通信时发生错误。 |
QPlaceReply::ParseError | 4 | 服务提供商的响应或导入文件的格式无法识别 |
QPlaceReply::PermissionsError | 5 | 由于权限不足,操作失败。 |
QPlaceReply::UnsupportedError | 6 | 该操作不受服务提供商支持。 |
QPlaceReply::BadArgumentError | 7 | 。提供的某个参数无效。 |
QPlaceReply::CancelError | 8 | 该操作已被取消。 |
QPlaceReply::UnknownError | 9 | 发生了一个无法归入其他任何类别的错误。 |
enum QPlaceReply::Type
描述回复的类型。
| 常量 | 值 | 描述 |
|---|---|---|
QPlaceReply::Reply | 0 | 这是一个通用回复。 |
QPlaceReply::DetailsReply | 1 | 这是用于检索地点详细信息的响应 |
QPlaceReply::SearchReply | 2 | 这是针对地点搜索操作的回复。 |
QPlaceReply::SearchSuggestionReply | 3 | 这是针对搜索建议操作的回复。 |
QPlaceReply::ContentReply | 4 | 这是与地点相关内容的响应。 |
QPlaceReply::IdReply | 5 | 这是一条返回地点或类别标识符的响应。通常用于地点或类别的保存和删除操作。 |
QPlaceReply::MatchReply | 6 | 这是返回与另一提供商中的地点相匹配的地点的响应。 |
成员函数文档
[explicit] QPlaceReply::QPlaceReply(QObject *parent = nullptr)
根据给定的parent 构建一个回复对象。
[virtual noexcept] QPlaceReply::~QPlaceReply()
销毁回复对象。
[virtual slot] void QPlaceReply::abort()
立即取消该操作。
另请参阅 ` aborted()`。
[signal] void QPlaceReply::aborted()
当操作被取消时,会发出此信号。
另请参阅 abort()。
[signal] void QPlaceReply::contentUpdated()
当此响应有更新内容可用时,会发出此信号。根据插件的不同,此信号可能永远不会被发出,也可能在发出 `QPlaceReply::finished()` 之前被多次发出,因为某些后端能够以异步和增量的方式返回请求的内容。
注意:请 勿在连接到此信号的槽中调用 delete 或 deleteLater 来删除该响应对象。仅在QPlaceReply::finished 触发时才可执行此操作。
QPlaceReply::Error QPlaceReply::error() const
返回错误代码。
另请参阅 setError()。
[signal] void QPlaceReply::errorOccurred(QPlaceReply::Error error, const QString &errorString = QString())
当在处理此响应时检测到错误时,将发出此信号。随后可能会发出finished()信号。
该错误将通过错误代码error 进行描述。如果errorString 不为空,则其中将包含针对开发人员(而非最终用户)的错误文本描述。
该信号与QPlaceManager::errorOccurred() 将同时触发。
注意:请 勿在连接到该信号的槽中删除此回复对象。请改用deleteLater()。
QString QPlaceReply::errorString() const
返回响应中的错误字符串。该错误字符串仅供开发人员使用,不适合显示给最终用户。
如果未发生错误,该字符串为空。
[signal] void QPlaceReply::finished()
当此响应处理完毕时,将发出此信号。
如果error()的值等于QPlaceReply::NoError ,则表示处理已成功完成。
该信号和QPlaceManager::finished()将同时发出。
注意:请 勿在连接到此信号的槽中删除此回复对象。请改用deleteLater()。
另请参阅 setFinished()。
bool QPlaceReply::isFinished() const
如果响应已完成,则返回 true。
[protected] void QPlaceReply::setError(QPlaceReply::Error error, const QString &errorString)
设置响应的error 和errorString 。此函数不会触发QPlaceReply::errorOccurred (QPlaceReply::Error 、constQString 及errorString )信号。
另请参阅 error()。
[protected] void QPlaceReply::setFinished(bool finished)
设置回复是否为finished 的状态。此函数不会触发finished()信号。
另请参阅 finished()。
[virtual] QPlaceReply::Type QPlaceReply::type() const
返回响应的类型。
© 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.