Qt 與 HTML JS 的互動

2021-10-07 08:46:03 字數 790 閱讀 6133

qwebchannel

qwebengineview

qwebchannel.js 一般在安裝目錄下 \webchannel\shared\qwebchannel.js

1. 定義互動類

#include class jsclass: public qobject

public slots:

// js 呼叫 qt 函式

void js_exec_qt(const qstring& param)

};

2. 主函式**片段
qstring url = "file:///e:/login.html";

qwebengineview webview

webview.load(qurl(url));

webview.show();

jsclass jsclass;

qwebchannel webchannel;

webchannel.registerobject("jsclass", &jsclass);

webview.page()->setwebchannel(&webchannel);

connect(&webview, &qwebengineview::loadfinished, this, ());

//重要, 必須要等到 qwebengineview 類把html載入完畢才能執行呼叫js的函式, 不然會出現找不到js函式的錯誤

//把qt中提供的js加入進來

QML知識 與Qt資料互動

使用qml程式設計時,常常會與qt之間進行資料訪問或修改,本篇文章是介紹qt與qml的資料互動方法,一般有兩種方法。testmodel標頭檔案 ifndef testmodel h define testmodel h include class testmodel public qobject q...

Qt之與遊戲手柄的互動(一)

通過手柄與qt的通訊,傳送指令至遠端裝置,控制遠端裝置的運動。市面上的遊戲手柄也有多種種類,主流的是藍芽手柄 2.4g手柄和usb手柄。2.4g手柄有的會識別出來是xbox裝置,有的識別出來是usb裝置。本文中的方法只支援xbox手柄,使用其他手柄不會被qt的手柄模組識別到,這裡用的是 銷量第一的北...

Qt的事件和與Widget跨執行緒互動

一般gui的程式的模型總有至少兩個主要執行緒,乙個是介面的主事件迴圈所在的執行緒,另乙個是處理工作任務的執行緒,工作執行緒看不見,在後台處理事務產生資料,然後顯示在介面上。例如乙個即時通訊客戶端,主介面顯示好友列表,工作執行緒接受來自網路的訊息,收到訊息後,要通知介面,將對應的好友的頭像閃爍顯示。這...