QWebChannel 类

把 QObject 暴露给远程 HTML 客户端。 更多...

头: #include <QWebChannel>
qmake: QT += webchannel
Since: Qt 5.4
继承: QObject

特性

公共函数

QWebChannel (QObject * parent = Q_NULLPTR)
~QWebChannel ()
bool blockUpdates () const
void deregisterObject (QObject * object )
void registerObject (const QString & id , QObject * object )
void registerObjects (const QHash<QString, QObject *> & 对象 )
QHash<QString, QObject *> registeredObjects () const
void setBlockUpdates (bool block )

公共槽

void connectTo (QWebChannelAbstractTransport * transport )
void disconnectFrom (QWebChannelAbstractTransport * transport )

信号

void blockUpdatesChanged (bool block )

额外继承成员

详细描述

把 QObject 暴露给远程 HTML 客户端。

QWebChannel fills the gap between C++ applications and HTML/JavaScript applications. By publishing a QObject derived object to a QWebChannel and using the qwebchannel.js 在 HTML 侧,它可以透明地访问 QObject 的特性、公共槽及方法。不需要手动传递消息和序列化数据,在 C++ 侧的特性更新和信号发出会被自动传输给潜在的远程运行 HTML 客户端。在客户端侧,JavaScript 对象会被创建为任何已发布 C++ QObject 。它镜像 C++ 对象的 API,因此,是直观可用的。

C++ QWebChannel API makes it possible to talk to any HTML client, which could run on a local or even remote machine. The only limitation is that the HTML client supports the JavaScript features used by qwebchannel.js 。因此,基本上可以与任何现代 HTML 浏览器或独立 JavaScript 运行时 (如 node.js) 交互。

还存在声明式 WebChannel API .

另请参阅 Qt WebChannel 独立范例 and 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 is only fully operational once you connect it to a QWebChannelAbstractTransport 。HTML 客户端还需进行适当设置使用 qwebchannel.js .

QWebChannel:: ~QWebChannel ()

销毁 QWebChannel .

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

连接 QWebChannel 到给定 transport 对象。

然后,传输对象处理 C++ 应用程序和远程 HTML 客户端之间的通信。

另请参阅 QWebChannelAbstractTransport and QWebChannel::disconnectFrom ().

void QWebChannel:: deregisterObject ( QObject * object )

撤销注册给定 object QWebChannel .

远程客户端会接收 destroyed 信号对于给定对象。

另请参阅 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 然后被构造。

注意: 当前的限制是对象被注册,在任何客户端被初始化之前。

另请参阅 QWebChannel::registerObjects (), QWebChannel::deregisterObject (),和 QWebChannel::registeredObjects ().

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

把对象组注册到 QWebChannel .

对象的特性、信号及公共可援引方法被发布到远程客户端。在那里,对象采用标识符用作为键在 对象 映射然后被构造。

注意: 当前的限制是对象被注册,在任何客户端被初始化之前。

另请参阅 QWebChannel::registerObject (), QWebChannel::deregisterObject (),和 QWebChannel::registeredObjects ().

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

返回被发布到远程客户端的注册对象的映射。

另请参阅 QWebChannel::registerObjects (), QWebChannel::registerObject (),和 QWebChannel::deregisterObject ().