WebChannel QML Type

QWebChannel 的 QML 接口。更多

Import Statement: import QtWebChannel 1.9

属性

附属物业

  • id : string

方法

详细说明

WebChannel 提供了一种从 HTML 客户端透明访问QObject 或 QML 对象的机制。所有属性、信号和公共槽都可从 HTML 客户端使用。

另请参阅 QWebChannelJavaScript 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

远程客户端知道注册到 WebChannel 的对象的标识符。

必须为每个通过 WebChannel 发布的对象设置该属性。虽然对 id 的格式没有限制,但通常最好选择一个有效的 JavaScript 标识符字符串。


方法文档

void connectTo(QtObject transport)

连接到transport ,它代表与单个客户端的通信通道。

传输对象必须是QWebChannelAbstractTransport 的实现。

另请参阅 transportsdisconnectFrom()。


void deregisterObject(QtObject object)

从 WebChannel 注销给定的object

远程客户端将收到给定对象的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 的键在客户端用作对象的标识符。

一旦注册成功,所有信号和属性变化都会自动传播到客户端。客户端还可以访问包括插槽在内的公共可调用方法。

这种命令式 API 可用于即时注册对象。对于静态对象,应首选声明式registeredObjects 属性。

另请参见 registeredObjects


© 2025 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.