Класс QGeoRouteReply
Класс QGeoRouteReply управляет операцией, запущенной экземпляром QGeoRoutingManager. Подробнее...
| Заголовок: | #include <QGeoRouteReply> |
| qmake: | QT += location |
| С тех пор: | Qt 5.6 |
| Наследует: | QObject |
Этот класс был представлен в Qt 5.6.
Типы публичного доступа
| перечисление | Error { NoError, EngineNotSetError, CommunicationError, ParseError, UnsupportedOptionError, UnknownError } |
Публичные функции
| QGeoRouteReply(QGeoRouteReply::Error error, const QString &errorString, QObject *parent = nullptr) | |
| virtual | ~QGeoRouteReply() |
| virtual void | abort() |
| QGeoRouteReply::Error | error() const |
| QString | errorString() const |
| bool | isFinished() const |
| QGeoRouteRequest | request() const |
| QList<QGeoRoute> | routes() const |
Сигналы
| void | aborted() |
| void | error(QGeoRouteReply::Error error, const QString &errorString = QString()) |
| void | finished() |
Защищенные функции
| QGeoRouteReply(const QGeoRouteRequest &request, QObject *parent = nullptr) | |
| void | addRoutes(const QList<QGeoRoute> &routes) |
| void | setError(QGeoRouteReply::Error error, const QString &errorString) |
| void | setFinished(bool finished) |
| void | setRoutes(const QList<QGeoRoute> &routes) |
Подробное описание
Экземпляры QGeoRouteReply управляют состоянием и результатами этих операций.
Методы isFinished(), error() и errorString() предоставляют информацию о том, завершена ли операция и завершилась ли она успешно.
Сигналы finished() и error(QGeoRouteReply::Error,QString) могут использоваться для отслеживания прогресса операции.
Возможны случаи, когда недавно созданный QGeoRouteReply может находиться в завершенном состоянии, чаще всего из-за возникновения ошибки. Поскольку такой экземпляр никогда не будет испускать сигналы finished() или error(QGeoRouteReply::Error,QString), важно проверить результат isFinished() перед подключением к сигналам. Документация по QGeoRoutingManager демонстрирует, как это можно осуществить.
Если операция завершается успешно, результаты можно получить с помощью routes().
Документация по типам членов
перечисление QGeoRouteReply::Error
Описание ошибки, которая помешала завершить операцию.
| Константа | Значение | Описание |
|---|---|---|
QGeoRouteReply::NoError |
0 |
Ошибка не произошла. |
QGeoRouteReply::EngineNotSetError |
1 |
У управляющего маршрутизацией не было связанного экземпляра QGeoRoutingManagerEngine. |
QGeoRouteReply::CommunicationError |
2 |
При общении с поставщиком услуг произошла ошибка. |
QGeoRouteReply::ParseError |
3 |
Ответ от поставщика услуг имел нераспознаваемый формат. |
QGeoRouteReply::UnsupportedOptionError |
4 |
Запрошенная операция или один из вариантов операции не поддерживается поставщиком услуг. |
QGeoRouteReply::UnknownError |
5 |
Произошла ошибка, которая не попадает ни в одну из других категорий. |
Документация по функциям-членам
[protected] QGeoRouteReply::QGeoRouteReply(const QGeoRouteRequest &request, QObject *parent = nullptr)
Создает объект ответа о маршруте на основе request, со заданным parent.
QGeoRouteReply::QGeoRouteReply(QGeoRouteReply::Error error, const QString &errorString, QObject *parent = nullptr)
Создает ответ о маршруте с заданной ошибкой и errorString и указанным parent.
[signal] void QGeoRouteReply::aborted()
Этот сигнал испускается, когда операция была отменена.
Эта функция была представлена в Qt 5.9.
См. также abort().
[signal] void QGeoRouteReply::error(QGeoRouteReply::Error error, const QString &errorString = QString())
Этот сигнал испускается, когда в обработке этого ответа была обнаружена ошибка. Вероятно, последует сигнал finished().
Ошибка будет описана кодом ошибки error. Если errorString не пуста, она будет содержать текстовое описание ошибки.
Этот сигнал и QGeoRoutingManager::error() будут испущены одновременно.
Примечание: Не удаляйте этот объект ответа в слоте, подключенном к этому сигналу. Используйте deleteLater() вместо этого.
Примечание: Сигнал error перегружен в этом классе. Для подключения к этому сигналу с помощью синтаксиса указателя функции Qt предоставляет удобную вспомогательную функцию для получения указателя на функцию, как показано в этом примере:
connect(geoRouteReply, QOverload<QGeoRouteReply::Error, const QString &>::of(&QGeoRouteReply::error),
[=](QGeoRouteReply::Error error, const QString &errorString){ /* ... */ });
[signal] void QGeoRouteReply::finished()
Этот сигнал испускается, когда обработка этого ответа завершена.
Если error() равно QGeoRouteReply::NoError, обработка завершилась успешно.
Этот сигнал и QGeoRoutingManager::finished() будут испущены одновременно.
Примечание: Не удаляйте этот объект ответа в слоте, подключенном к этому сигналу. Используйте deleteLater() вместо этого.
См. также setFinished().
[virtual] QGeoRouteReply::~QGeoRouteReply()
Уничтожает этот объект ответа о маршруте.
[virtual] void QGeoRouteReply::abort()
Отменяет операцию немедленно.
Это ничего не сделает, если ответ уже завершен.
[protected] void QGeoRouteReply::addRoutes(const QList<QGeoRoute> &routes)
Добавляет список routes к существующему списку.
END_OF_DOCUMENT_MARKERQGeoRouteReply::Error QGeoRouteReply::error() const
Возвращает состояние ошибки данного ответа.
Если результат равен QGeoRouteReply::NoError, ошибка не произошла.
См. также setError().
QString QGeoRouteReply::errorString() const
Возвращает текстовое представление состояния ошибки данного ответа.
Если ошибка не произошла, возвращается пустая строка. Возможна ситуация, когда произошла ошибка, но нет связанного с ней текстового представления, в этом случае также будет возвращена пустая строка.
Чтобы определить, произошла ли ошибка, проверьте, равно ли значение QGeoRouteReply::error() значению QGeoRouteReply::NoError.
bool QGeoRouteReply::isFinished() const
Возвращает true, если операция завершилась успешно или столкнулась с ошибкой, которая остановила операцию.
QGeoRouteRequest QGeoRouteReply::request() const
Возвращает запрос маршрута, который определил маршрут.
QList<QGeoRoute> QGeoRouteReply::routes() const
Возвращает список запрошенных маршрутов.
См. также setRoutes().
[protected] void QGeoRouteReply::setError(QGeoRouteReply::Error error, const QString &errorString)
Устанавливает состояние ошибки данного ответа в error и текстовое представление ошибки в errorString.
Это также вызовет эмиссию сигналов error() и finished() в указанном порядке.
См. также error().
[protected] void QGeoRouteReply::setFinished(bool finished)
Устанавливает, завершен ли этот ответ, в значение finished.
Если finished равно true, это вызовет эмиссию сигнала finished().
Если операция завершилась успешно, необходимо вызвать QGeoRouteReply::setRoutes() перед этим методом. Если произошла ошибка, вместо него следует использовать QGeoRouteReply::setError().
См. также finished().
[protected] void QGeoRouteReply::setRoutes(const QList<QGeoRoute> &routes)
Устанавливает список маршрутов в ответе в routes.
См. также routes().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qgeoroutereply.html