QWebChannel 類

把 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 .

特性文檔編製

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 信號對於給定對象。

注意: 此函數可以被援引,通過元對象係統和從 QML。見 Q_INVOKABLE .

另請參閱 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 .

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 ().

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 ().