QGeoRouteReply 类

QGeoRouteReply 类管理由 QGeoRoutingManager 实例启动的操作的状态和结果。更多...

头文件 #include <QGeoRouteReply>
qmakeQT += location
Inherits QObject

公共类型

枚举错误 { NoError, EngineNotSetError, CommunicationError, ParseError, UnsupportedOptionError, UnknownError }

公共函数

QGeoRouteReply(QGeoRouteReply::Error error, const QString &errorString, QObject *parent = nullptr)
virtual~QGeoRouteReply()
virtual voidabort()
QGeoRouteReply::Error错误() const
QString错误信息() const
boolisFinished() const
QGeoRouteRequestrequest() const
QList<QGeoRoute>routes() const

信号

voidaborted()
voiderrorOccurred(QGeoRouteReply::Error error, const QString &errorString = QString())
voidfinished()

保护函数

QGeoRouteReply(const QGeoRouteRequest &request, QObject *parent = nullptr)
voidaddRoutes(const QList<QGeoRoute> &routes)
voidsetError(QGeoRouteReply::Error error, const QString &errorString)
voidsetFinished(bool finished)
voidsetRoutes(const QList<QGeoRoute> &routes)

详细描述

QGeoRouteReply 的实例管理这些操作的状态和结果。

isFinished(), error() 和 errorString() 方法提供关于操作是否完成以及是否成功完成的信息。

finished() 和 errorOccurred(QGeoRouteReply::Error, QString) 信号可以用来监控操作的进度。

可能新创建的QGeoRouteReply已经在完成状态,最常见的原因是发生了错误。由于此类实例永远不会发射finished()或errorOccurred(QGeoRouteReply::Error,QString)信号,因此在将它们连接到信号之前,检查isFinished()的结果是很重要的。QGeoRoutingManager的文档演示了如何执行此操作。

如果操作成功完成,可以使用routes()访问结果。

成员类型文档

枚举 QGeoRouteReply::Error

描述阻止操作完成的错误。

常数描述
QGeoRouteReply::NoError0未发生错误。
QGeoRouteReply::EngineNotSetError1所使用的路由管理器没有与QGeoRoutingManagerEngine实例关联。
QGeoRouteReply::CommunicationError2与服务提供者通信时发生错误。
QGeoRouteReply::ParseError3服务提供者的响应格式无法识别。
QGeoRouteReply::UnsupportedOptionError4请求的操作或操作的一个或多个选项不支持服务提供者。
QGeoRouteReply::UnknownError5发生了一个无法归入其他类别的错误。

成员函数文档

[显式] QGeoRouteReply::QGeoRouteReply(QGeoRouteReply::Error error, const QString &errorString, QObject *parent = nullptr)

使用指定的错误和错误字符串以及指定的parent构造路由响应。

[显式保护] QGeoRouteReply::QGeoRouteReply(const QGeoRouteRequest &request, QObject *parent = nullptr)

基于request和指定的parent构建路由响应对象。

[虚拟 noexcept] QGeoRouteReply::~QGeoRouteReply()

销毁此路由响应对象。

[虚拟] void QGeoRouteReply::abort()

立即取消操作。

如果响应已完成,将不执行任何操作。

[信号] void QGeoRouteReply::aborted()

当操作被取消时发出此信号。

另请参阅abort()。

[保护] void QGeoRouteReply::addRoutes(const QList<QGeoRoute> &routes)

routes列表追加到现有列表。

QGeoRouteReply::Error QGeoRouteReply:: error() const

返回此回复的错误状态。

如果结果是 QGeoRouteReply::NoError,则没有发生错误。

另请参阅 setError

[信号] void QGeoRouteReply:: errorOccurred(QGeoRouteReply::Error 错误,const QString &错误字符串 = QString())

当检测到此回复处理中的错误时,将发出此信号。可能随后会发出 finished() 信号。

错误将由错误代码 错误 描述。如果 错误字符串 不为空,它将包含错误文本描述。

此信号和 QGeoRoutingManager::errorOccurred() 将同时发出。

注意:不要在使用此信号的槽中删除此回复对象。请改用 deleteLater

QString QGeoRouteReply:: errorString() const

返回此回复错误状态的文本表示形式。

如果没有发生错误,则返回空字符串。可能已经发生一个没有关联的文本表示的错误,在这种情况下,也将返回空字符串。

要确定是否发生错误,请检查 QGeoRouteReply::error() 是否等于 QGeoRouteReply::NoError

[信号] void QGeoRouteReply:: finished()

当此回复完成处理时发出此信号。

如果 error() 等于 QGeoRouteReply::NoError,则处理成功完成。

此信号和 QGeoRoutingManager::finished() 将同时发出。

注意:不要在使用此信号的槽中删除此回复对象。请改用 deleteLater

另请参阅 setFinished

bool QGeoRouteReply:: isFinished() const

如果操作成功完成或遇到导致操作停止的错误,则返回 true。

QGeoRouteRequest QGeoRouteReply:: request() const

返回指定路线的路线请求。

QList<QGeoRoute> QGeoRouteReply:: routes() const

返回请求的路线列表。

另请参阅 setRoutes

[受保护的] void QGeoRouteReply:: setError(QGeoRouteReply::Error 错误,const QString &错误字符串)

将此回复的错误状态设置为 错误,并将错误文本表示形式设置为 错误字符串

这还会导致以该顺序发出 errorOccurred() 和 finished() 信号。

另请参阅 error()。

[受保护] void QGeoRouteReply::setFinished(bool finished)

设置此回复是否完成。

如果 finished 为真,这将导致 finished() 信号被发出。

如果操作成功完成,应在调用此函数之前调用 QGeoRouteReply::setRoutes()。如果发生错误,应改用 QGeoRouteReply::setError()。

另请参阅 finished()。

[受保护] void QGeoRouteReply::setRoutes(const QList<QGeoRoute> &routes)

将回复中的路线列表设置为 routes

另请参阅 routes()。

© 2024 Qt 公司有限公司。包含在此处的文档贡献是各自所有者的版权。提供的文档受 GNU 自由文档许可证版本 1.3 的条款约束,由自由软件基金会发布。Qt 及相关标志是芬兰的 Qt 公司以及/或其他国家/地区的商标。所有其他商标均为其各自所有者的财产。