WebChannel QML Type
QWebChannel 的 QML 接口。更多内容...
| Import Statement: | import QtWebChannel 1.12 |
属性
- blockUpdates : bool
- propertyUpdateInterval : int
- registeredObjects : list<QtObject>
- transports : list<QtObject>
关联属性
- id : string
方法
- void connectTo(QtObject transport)
- void deregisterObject(QtObject object)
- void disconnectFrom(QtObject transport)
- void registerObject(const string id, QtObject object)
- void registerObjects(object objects)
详细说明
WebChannel 提供了一种机制,允许 HTML 客户端透明地访问QObject 或 QML 对象。所有属性、信号和公共槽均可从 HTML 客户端使用。
另请参阅 QWebChannel 和JavaScript API。
属性文档
blockUpdates : bool
当设置为true 时,更新将被阻止,且远程客户端不会收到属性更改的通知。
这些更改会被记录下来,并在将该属性设置为false 、解除更新阻塞后,一并发送给客户端。默认情况下,更新不会被阻塞。
propertyUpdateInterval : int
属性更新间隔。
通过将其设置为正数,可以将该间隔更改为以毫秒为单位的其他间隔。 属性更新会进行批处理,并在该间隔时间结束后发送。若设置为零,则单次事件循环运行期间发生的更新将进行批处理,并在下次运行时发送。若为负数,更新将立即发送。默认值为 50 毫秒。
registeredObjects : list<QtObject> [read-only]
应可供远程客户端访问的对象列表。
这些对象必须将附加的 `id ` 属性设置为一个标识符,该对象随后将在 HTML 端以此标识符被识别。
注册完成后,所有信号和属性变更都会自动传播到客户端。公共可调用方法(包括插槽)也可被客户端访问。
如果需要注册在组件创建时尚不可用的对象,请使用命令式registerObjects 方法。
另请参阅 registerObjects() 和id 。
transports : list<QtObject> [read-only]
一个实现QWebChannelAbstractTransport 接口的传输对象列表。这些传输对象用于与远程客户端通信。
另请参阅 connectTo() 和disconnectFrom()。
附加属性文档
WebChannel.id : string [attached]
远程客户端通过该标识符识别已注册到 WebChannel 的对象。
对于每个需要通过 WebChannel 发布的对象,都必须设置此属性。虽然对 id 的格式没有强制限制,但通常建议选择一个同时也是有效 JavaScript 标识符的字符串。
方法文档
void connectTo(QtObject transport)
连接到transport ,该对象表示与单个客户端之间的通信通道。
该传输对象必须是QWebChannelAbstractTransport 的实现。
另请参阅 transports 以及disconnectFrom()。
void deregisterObject(QtObject object)
将给定的object 从WebChannel中注销。
远程客户端将收到针对该对象的destroyed 信号。
另请参阅 registerObjects()、registerObject() 以及registeredObjects 。
void disconnectFrom(QtObject transport)
将transport 从该WebChannel中断开连接。
客户端将无法再与该 WebChannel 进行通信,也不会再接收任何信号或属性更新。
另请参阅 connectTo()。
void registerObject(const string id, QtObject object)
将单个对象注册到 WebChannel。
object 的属性、信号和公共方法将发布给远程客户端。随后,在客户端会构建一个标识符为id 的对象。
对于属于BINDABLE 但未具有NOTIFY 信号的属性,其属性更新在客户端端仍可正常工作,但没有机制可为变更通知注册回调。
注意: 目前的限制 是,必须在任何客户端初始化之前完成对象的注册。
另请参阅 registerObjects()、deregisterObject() 以及registeredObjects 。
void registerObjects(object objects)
注册指定的objects ,以便HTML客户端能够访问它们。objects 应为JavaScript Map对象。该Map的键将作为客户端上该对象的标识符。
注册完成后,所有信号和属性变化都会自动传播到客户端。公共可调用方法(包括插槽)也可供客户端访问。
此命令式 API 可用于动态注册对象。对于静态对象,应优先使用声明式的 `registeredObjects ` 属性。
另请参阅 registeredObjects 。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.