Qt 与 Html 通信 之 QWebChannel

required

QWebChannel文档

Header #include
qmake: QT += webchannel
Since: Qt 5.4
Inherits: QObject

简介

QWebChannel 类的作用是向远端Html客户端暴露 QObject。

QWebChannel 填补了c++应用程序和 HTML/JavaScript 应用程序之间的空白。通过将QObject派生对象发布到QWebChannel并在html中引入qwebchannel.js脚本可从此处获取。在HTML端,可以透明地访问QObject的属性、公共槽和方法。不需要手动消息传递和数据序列化,c++方面的属性更新和信号发射将自动传输到可能远程运行的HTML客户机。在客户端,将为任何发布的c++ QObject创建JavaScript对象。它反映了c++对象的API,因此可以直观地使用。

成员函数

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)
  • registerObject 函数可以向 html 中注册 QObject 对象,可以指定对象 ID
  • blockUpdates 函数 和 setBlockUpdates 分别用来 获取和 设置 对象更新的阻塞标志。当设置为true时,更新将被阻塞,远程客户端将不会收到有关属性更改的通知。
    更新将被记录下来,通过将此属性设置为false解除阻塞将记录发送到客户机。默认情况下,更新不会被阻止。

猜你喜欢

转载自www.cnblogs.com/Yu-900914/p/10199309.html