1. 程式人生 > >Qt 與 Html 通訊 之 QWebChannel

Qt 與 Html 通訊 之 QWebChannel

required

QWebChannel文件

Header #include
qmake: QT += webchannel
Since: Qt 5.4
Inherits: QObject

簡介

QWebChannel 類的作用是向遠端Html客戶端暴露 QObject。

QWebChannel 填補了c++應用程式和 HTML/JavaScript 應用程式之間的空白。通過將QObject派生物件釋出到QWebChannel並在html中引入

qwebchannel.js指令碼可從此處獲取。在HTML端,可以透明地訪問QObject的屬性、公共槽和方法。不需要手動訊息傳遞和資料序列化,c++方面的屬性更新和訊號發射將自動傳輸到可能遠端執行的HTML客戶機。在客戶端,將為任何釋出的c++ QObject建立JavaScript物件。它反映了c++物件的API,因此可以直觀地使用。

成員函式

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 *> &objects)
QHash<QString, QObject *> registeredObjects() const
void setBlockUpdates(bool block)
  • registerObject 函式可以向 html 中註冊 QObject 物件,可以指定物件 ID
  • blockUpdates 函式 和 setBlockUpdates 分別用來 獲取和 設定 物件更新的阻塞標誌。當設定為true時,更新將被阻塞,遠端客戶端將不會收到有關屬性更改的通知。
    更新將被記錄下來,通過將此屬性設定為false解除阻塞將記錄傳送到客戶機。預設情況下,更新不會被阻止。