Spec-Zone.ru › Qt 5.11

Класс QAbstractMessageHandler

Класс QAbstractMessageHandler предоставляет интерфейс обратного вызова для обработки сообщений. Подробнее...

Заголовок: #include <QAbstractMessageHandler>
qmake: QT += xmlpatterns
С тех пор: Qt 4.4
Наследует: QObject
  • Список всех членов, включая унаследованные члены

Открытые функции

QAbstractMessageHandler(QObject *parent = nullptr)
virtual ~QAbstractMessageHandler()
void message(QtMsgType type, const QString &description, const QUrl &identifier = QUrl(), const QSourceLocation &sourceLocation = QSourceLocation())
  • 34 открытых функции унаследованы от QObject

Защищённые функции

virtual void handleMessage(QtMsgType type, const QString &description, const QUrl &identifier = ..., const QSourceLocation &sourceLocation = ...) = 0
  • 9 защищённых функций унаследованы от QObject

Дополнительные унаследованные члены

  • 1 свойство унаследовано от QObject
  • 1 открытый слот унаследован от QObject
  • 2 сигналы унаследованы от QObject
  • 1 открытая переменная унаследована от QObject
  • 10 статические открытые члены унаследованы от QObject
  • 2 защищённые переменные унаследованы от QObject

Подробное описание

Класс QAbstractMessageHandler предоставляет интерфейс обратного вызова для обработки сообщений.

QAbstractMessageHandler — это абстрактный базовый класс, предоставляющий интерфейс обратного вызова для обработки сообщений. Например, класс QXmlQuery анализирует и выполняет запрос XQuery. При обнаружении ошибки компиляции или выполнения он генерирует соответствующее сообщение об ошибке, но вместо вывода самого сообщения передает сообщение в функцию message() своего объекта QAbstractMessageHandler. См. QXmlQuery::setMessageHandler().

Вы создаёте обработчик сообщений, наследуя от QAbstractMessageHandler и реализуя handleMessage(). Затем вы передаёте указатель на экземпляр вашего подкласса в любые классы, которые должны генерировать сообщения. Сообщения отправляются обработчику сообщений через функцию message(), которая пересылает их в вашу функцию handleMessge().

Один экземпляр QAbstractMessageHandler может использоваться для обработки сообщений из нескольких источников. Таким образом, содержимое сообщения, которое является параметром description, переданным в message() и handleMessage(), должно интерпретироваться в контексте, потребовавшем отправки сообщения. Этот контекст задаётся параметрами identifier и sourceLocation функции message() handleMessage().

Документация по членам функции

QAbstractMessageHandler::QAbstractMessageHandler(QObject *parent = nullptr)

Конструктор QAbstractMessageHandler. Параметр parent передаётся конструктору базового класса QObject.

[virtual] QAbstractMessageHandler::~QAbstractMessageHandler()

Деструктор QAbstractMessageHandler.

[pure virtual protected] void QAbstractMessageHandler::handleMessage(QtMsgType type, const QString &description, const QUrl &identifier = ..., const QSourceLocation &sourceLocation = ...)

Эта функция должна быть реализована подклассом. message() будет вызывать эту функцию, передавая свои параметры type, description, identifier и sourceLocation без изменений.

Эта функция потенциально может вызываться из нескольких потоков. Ответственность за обеспечение потоковой безопасности лежит на реализации.

void QAbstractMessageHandler::message(QtMsgType type, const QString &description, const QUrl &identifier = QUrl(), const QSourceLocation &sourceLocation = QSourceLocation())

Отправляет сообщение в этот обработчик сообщений. type — тип отправляемого сообщения. description — содержимое сообщения. identifier — URI, идентифицирующий сообщение и служащий ключом для интерпретации других аргументов.

Как правило, этот класс используется для отчётности об ошибках, как в случае с QXmlQuery, который использует QAbstractMessageHandler для отчётности об ошибках компиляции и выполнения XQuery. Поэтому использование QUrl в качестве идентификатора сообщения вдохновлено описанием обработки ошибок в языке XQuery. Поскольку идентификатор состоит из URI пространства имён и локальной части, идентификаторы с одинаковой локальной частью уникальны. Звонящий обязан гарантировать, что identifier является либо допустимым QUrl, либо QUrl по умолчанию.

sourceLocation идентифицирует расположение в ресурсе (например, файле или документе), где было обнаружено сообщение.

Эта функция безусловно вызывает handleMessage(), передавая все её параметры без изменений.

См. также http://www.w3.org/TR/xquery/#errors.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qabstractmessagehandler.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API