把 QObject 暴露给远程 HTML 客户端。 更多...
| 头: | #include <QWebChannel> | 
| qmake: | QT += webchannel | 
| Since: | Qt 5.4 | 
| 继承: | QObject | 
| QWebChannel (QObject * parent = nullptr) | |
| virtual | ~QWebChannel () | 
| bool | blockUpdates () const | 
| void | deregisterObject (QObject * object ) | 
| int | propertyUpdateInterval () const | 
| void | registerObject (const QString & id , QObject * object ) | 
| void | registerObjects (const QHash<QString, QObject *> & 对象 ) | 
| QHash<QString, QObject *> | registeredObjects () const | 
| void | setBlockUpdates (bool block ) | 
| void | setPropertyUpdateInterval (int ms ) | 
| void | connectTo (QWebChannelAbstractTransport * transport ) | 
| void | disconnectFrom (QWebChannelAbstractTransport * transport ) | 
| void | blockUpdatesChanged (bool block ) | 
QWebChannel 填充 C++ 应用程序和 HTML/JavaScript 应用程序之间的间隙。通过发布 QObject 派生对象给 QWebChannel 并使用 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 使与任何 HTML 客户端对话成为可能,这些客户端可以运行在本地 (甚至远程机器上)。唯一的限制是 HTML 客户端要支持 JavaScript 特征,要求使用
						
qwebchannel.js
						
						。因此,基本上可以与任何现代 HTML 浏览器或独立 JavaScript 运行时 (如 node.js) 交互。
					
还存在声明式 WebChannel API .
另请参阅 Qt WebChannel 独立范例 and JavaScript API .
[bindable]
						
						
							blockUpdates
						
						:
						
							bool
						
						
					注意: 此特性支持 QProperty 绑定。
当设为 true 时,更新被阻塞,且不会通知远程客户端有关特性的更改。
改变被记录并被发送给客户端,一旦更新再次变为不阻塞,通过把此特性设为 false。默认情况下,更新不被阻塞。
[bindable]
						
						
							propertyUpdateInterval
						
						:
						
							int
						
						
					注意: 此特性支持 QProperty 绑定。
This property holds the property update interval.
This interval can be changed to a different interval in milliseconds by setting it to a positive value. Property updates are batched and sent out after the interval expires. If set to zero, the updates occurring within a single event loop run are batched and sent out on the next run. If negative, updates will be sent immediately. Default value is 50 milliseconds.
构造 QWebChannel 对象采用给定 parent .
						注意:QWebChannel 才完整可操作,一旦把它连接到
						
							QWebChannelAbstractTransport
						
						。HTML 客户端还需进行适当设置使用
						
							
qwebchannel.js
							
						
						.
					
[slot]
						
						
							void
						
						QWebChannel::
						
							connectTo
						
						(
						
							
								QWebChannelAbstractTransport
							
						
						*
						
							transport
						
						)
						
					连接 QWebChannel 到给定 transport 对象。
然后,传输对象处理 C++ 应用程序和远程 HTML 客户端之间的通信。
另请参阅 QWebChannelAbstractTransport and QWebChannel::disconnectFrom ().
[slot]
						
						
							void
						
						QWebChannel::
						
							disconnectFrom
						
						(
						
							
								QWebChannelAbstractTransport
							
						
						*
						
							transport
						
						)
						
					断开连接 QWebChannel 从 transport 对象。
另请参阅 QWebChannel::connectTo ().
[虚拟]
						
						QWebChannel::
						
							~QWebChannel
						
						()
						
					销毁 QWebChannel .
[invokable]
						
						
							void
						
						QWebChannel::
						
							deregisterObject
						
						(
						
							
								QObject
							
						
						*
						object
						)
						
					撤销注册给定 object 从 QWebChannel .
						远程客户端会接收
						
destroyed
						
						信号对于给定对象。
					
注意: 此函数可以被援引,通过元对象系统和从 QML。见 Q_INVOKABLE .
另请参阅 QWebChannel::registerObjects (), QWebChannel::registerObject (),和 QWebChannel::registeredObjects ().
[invokable]
						
						
							void
						
						QWebChannel::
						
							registerObject
						
						(const
						
							
								QString
							
						
						&
						
							id
						
						,
						
							
								QObject
							
						
						*
						object
						)
						
					把单个对象注册到 QWebChannel .
The properties, signals and public methods of the object are published to the remote clients. There, an object with the identifier id 然后被构造。
						
							注意:
						
						A property that is
						
BINDABLE
						
						but does not have a
						
NOTIFY
						
						signal will have working property updates on the client side, but no mechanism to register a callback for the change notifications.
					
注意: 当前的限制是对象被注册,在任何客户端被初始化之前。
注意: 此函数可以被援引,通过元对象系统和从 QML。见 Q_INVOKABLE .
另请参阅 QWebChannel::registerObjects (), QWebChannel::deregisterObject (),和 QWebChannel::registeredObjects ().
把对象组注册到 QWebChannel .
对象的特性、信号及公共可援引方法被发布到远程客户端。在那里,对象采用标识符用作为键在 对象 映射然后被构造。
注意: 当前的限制是对象被注册,在任何客户端被初始化之前。
另请参阅 QWebChannel::registerObject (), QWebChannel::deregisterObject (),和 QWebChannel::registeredObjects ().
返回被发布到远程客户端的注册对象的映射。
另请参阅 QWebChannel::registerObjects (), QWebChannel::registerObject (),和 QWebChannel::deregisterObject ().