把 QObject 暴露给远程 HTML 客户端。 更多...
头: | #include <QWebChannel> |
qmake: | QT += webchannel |
Since: | Qt 5.4 |
继承: | 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 *> & 对象 ) |
QHash<QString, QObject *> | registeredObjects () const |
void | setBlockUpdates (bool block ) |
void | connectTo (QWebChannelAbstractTransport * transport ) |
void | disconnectFrom (QWebChannelAbstractTransport * transport ) |
void | blockUpdatesChanged (bool block ) |
const QMetaObject | staticMetaObject |
把 QObject 暴露给远程 HTML 客户端。
The 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 on the HTML side, one can transparently access properties and public slots and methods of the 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 .
当设为 true 时,更新被阻塞,且不会通知远程客户端有关特性的更改。
改变被记录并被发送给客户端,一旦更新再次变为不阻塞,通过把此特性设为 false。默认情况下,更新不被阻塞。
访问函数:
bool | blockUpdates () const |
void | setBlockUpdates (bool block ) |
通知程序信号:
void | blockUpdatesChanged (bool block ) |
构造 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 ().
撤销注册给定 object 从 QWebChannel .
远程客户端会接收
destroyed
信号对于给定对象。
注意: 此函数可以被援引,通过元对象系统和从 QML。见 Q_INVOKABLE .
另请参阅 QWebChannel::registerObjects (), QWebChannel::registerObject (),和 QWebChannel::registeredObjects ().
[slot]
void
QWebChannel::
disconnectFrom
(
QWebChannelAbstractTransport
*
transport
)
断开连接 QWebChannel 从 transport 对象。
另请参阅 QWebChannel::connectTo ().
把单个对象注册到 QWebChannel .
The properties, signals and public methods of the object are published to the remote clients. There, an object with the identifier id 然后被构造。
注意: 当前的限制是对象被注册,在任何客户端被初始化之前。
注意: 此函数可以被援引,通过元对象系统和从 QML。见 Q_INVOKABLE .
另请参阅 QWebChannel::registerObjects (), QWebChannel::deregisterObject (),和 QWebChannel::registeredObjects ().
把对象组注册到 QWebChannel .
对象的特性、信号及公共可援引方法被发布到远程客户端。在那里,对象采用标识符用作为键在 对象 映射然后被构造。
注意: 当前的限制是对象被注册,在任何客户端被初始化之前。
另请参阅 QWebChannel::registerObject (), QWebChannel::deregisterObject (),和 QWebChannel::registeredObjects ().
返回被发布到远程客户端的注册对象的映射。
另请参阅 QWebChannel::registerObjects (), QWebChannel::registerObject (),和 QWebChannel::deregisterObject ().