Spec-Zone.ru › Qt 5.12

Класс QWebChannel

Предоставляет QObjects удалённым клиентам HTML. Подробнее...

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

Свойства

  • blockUpdates : bool
  • 1 свойство унаследовано от QObject

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

QWebChannel(QObject *parent = Q_NULLPTR)
virtual ~QWebChannel()
bool blockUpdates() const
void deregisterObject(QObject *object)
void registerObject(const QString &id, QObject *object)
void registerObjects(const QHash<QString, QObject *> &objects)
QHash<QString, QObject *> registeredObjects() const
void setBlockUpdates(bool block)
  • 31 открытая функция унаследована от QObject

Открытые слоты

void connectTo(QWebChannelAbstractTransport *transport)
void disconnectFrom(QWebChannelAbstractTransport *transport)
  • 1 открытый слот унаследован от QObject

Сигналы

void blockUpdatesChanged(bool block)
  • 2 сигнала унаследованы от QObject

Статические открытые члены

const QMetaObject staticMetaObject
  • 9 статических открытых членов унаследованы от QObject

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

  • 9 защищённых функций унаследованы от QObject

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

Предоставляет QObjects удалённым клиентам HTML.

Класс QWebChannel заполняет пробел между приложениями C++ и HTML/JavaScript-приложениями. Опубликовав объект, производный от QObject, в QWebChannel, и используя qwebchannel.js со стороны HTML, можно прозрачно получить доступ к свойствам и открытым слотам и методам QObject. Не требуется ручное передача и сериализация данных, обновления свойств и испускание сигналов на стороне C++ автоматически передаются потенциально удалённым клиентам HTML. На стороне клиента для каждого опубликованного C++ QObject будет создан JavaScript-объект. Он отражает API C++-объекта и поэтому интуитивно понятен.

API C++ QWebChannel позволяет общаться с любым клиентом HTML, который может работать на локальной или даже удалённой машине. Единственное ограничение заключается в том, что клиент HTML поддерживает JavaScript-функции, используемые qwebchannel.js. Таким образом, можно взаимодействовать практически с любым современным браузером HTML или автономной JavaScript-средой выполнения, такой как node.js.

Также существует декларативный WebChannel API.

См. также Пример автономного Qt WebChannel и JavaScript API.

Документация свойств

blockUpdates : bool

При установке в значение true, обновления блокируются, и удалённые клиенты не будут уведомлены об изменениях свойств.

Изменения записываются и отправляются клиентам, как только обновления снова становятся разблокированными путём установки этого свойства в значение false. По умолчанию обновления не блокируются.

Функции доступа:

bool blockUpdates() const
void setBlockUpdates(bool block)

Сигнал уведомления:

void blockUpdatesChanged(bool block)

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

QWebChannel::QWebChannel(QObject *parent = Q_NULLPTR)

Конструктор объекта QWebChannel с заданным parent.

Обратите внимание, что QWebChannel становится полностью функциональным только после подключения к QWebChannelAbstractTransport. Клиенты HTML также должны быть должным образом настроены, используя qwebchannel.js.

[virtual] QWebChannel::~QWebChannel()

Уничтожает QWebChannel.

[slot] void QWebChannel::connectTo(QWebChannelAbstractTransport *transport)

Подключает QWebChannel к заданному объекту transport.

Объект transport обрабатывает взаимодействие между приложением C++ и удалённым клиентом HTML.

См. также QWebChannelAbstractTransport и QWebChannel::disconnectFrom().

void QWebChannel::deregisterObject(QObject *object)

Отменяет регистрацию заданного object в QWebChannel.

Удалённые клиенты получат сигнал destroyed для данного объекта.

Примечание: Эта функция может вызываться через систему метаобъектов и из QML. См. Q_INVOKABLE.

См. также QWebChannel::registerObjects(), QWebChannel::registerObject() и QWebChannel::registeredObjects().

[slot] void QWebChannel::disconnectFrom(QWebChannelAbstractTransport *transport)

Отключает QWebChannel от объекта transport.

См. также QWebChannel::connectTo().

void QWebChannel::registerObject(const QString &id, QObject *object)

Регистрирует один объект в QWebChannel.

Свойства, сигналы и открытые методы объекта object публикуются для удалённых клиентов. Там же будет создан объект с идентификатором id.

Примечание: В настоящее время ограничением является то, что объекты должны быть зарегистрированы до инициализации любого клиента.

Примечание: Эта функция может вызываться через систему метаобъектов и из QML. См. Q_INVOKABLE.

См. также QWebChannel::registerObjects(), QWebChannel::deregisterObject() и QWebChannel::registeredObjects().

void QWebChannel::registerObjects(const QHash<QString, QObject *> &objects)

Регистрирует группу объектов в QWebChannel.

Свойства, сигналы и открытые вызываемые методы объектов публикуются для удалённых клиентов. Там же будет создан объект с идентификатором, используемым в качестве ключа в карте objects.

Примечание: В настоящее время ограничением является то, что объекты должны быть зарегистрированы до инициализации любого клиента.

См. также QWebChannel::registerObject(), QWebChannel::deregisterObject() и QWebChannel::registeredObjects().

QHash<QString, QObject *> QWebChannel::registeredObjects() const

Возвращает карту зарегистрированных объектов, опубликованных для удаленных клиентов.

См. также QWebChannel::registerObjects(), QWebChannel::registerObject() и QWebChannel::deregisterObject().

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

Spec-Zone.ru

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