QML,JavaScript,QtC++的聯動

2020-08-14 11:06:37

QML,JavaScript,QtC++的聯動

最近有專案需求,要在QML當中啓動HTML頁面,HTML頁面當中執行JavaScript。HTML要執行的功能當中有一部分需要用Python來實現。

調查了很多,基本上在JavaScript當中之間呼叫Python來執行,是不可行的。
skulpt 這個開源專案可以支援在JavaScript當中直接執行Python程式,但是skulpt可以支援的Python庫很有限,大量的第三方庫視乎skulpt都無法支援
※skulpt似乎不是呼叫了Python直譯器,而是自己做了Python直譯器的工作實現了Python標準庫的一些功能函數。也可能是我理解有問題。如果哪位大神,知道skulpt如何能方便的支援第三方庫,麻煩不吝賜教。

所以沒有辦法,只能通過QWebChannel的方式,讓Qt去執行Python程式,然後再把結果返回給JavaScript,然後在HTML頁面上顯示出來。

QML,JavaScript,與自定義的C++程式(用來執行Python)的聯動方式,參考如下幾個網頁的做法:
https://blog.csdn.net/gongjianbo1992/article/details/87965925
https://www.pressc.cn/1085.html
https://doc.qt.io/qt-5/qtwebchannel-javascript.html
https://blog.csdn.net/shareTM/article/details/55260207