Класс 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