• 14775阅读
  • 5回复

[提问]在最新Qt5.4,使用QWebengine,如何js调用Qt [复制链接]

上一主题 下一主题
离线nishab250
 

只看楼主 倒序阅读 楼主  发表于: 2015-01-04
各路大神,由于项目需要使用最新的Qwebengine进行js和qt的通信,
我参考之前的webkit和qwebengine进行对比,
qt只提供了这样的一个说法,
Qwebpluginfactory
The HTML5 standard also now offers much better alternatives that were not available when native controls plugins were introduced in Qt WebKit.


貌似他的意思是不需要Qwebpluginfactory这个插件类就直接可以通过html5调用qt。

请各路大神集思广益啊。。俺实在是html玩的少。
离线nishab250

只看该作者 1楼 发表于: 2015-01-04
如果实现的思路和webkit一样的话,
那么怎样通过embed或者object包含qt的控件呢。
插件应该肿么实现呢。
离线jidai

只看该作者 2楼 发表于: 2015-01-21
还是用WebChannel吧,还得是基于WebSocket的。
基于IPC的WebChannel目前在CodeReview阶段,估计要在Qt 5.5中才正式提供。

另外,WebChannel之外的其它更方便的(至少像WebKit一样)在JS和C++之间互操作,也得等下一个版本了。
离线lizaifang

只看该作者 3楼 发表于: 2015-01-23
webView->page()->mainFrame的addToJavaScriptWindowObject可以把增加webview的jsapi, 可以通过这这种方式调用qt的方法
离线jidai

只看该作者 4楼 发表于: 2015-01-24
回 lizaifang 的帖子
lizaifang:webView->page()->mainFrame的addToJavaScriptWindowObject可以把增加webview的jsapi, 可以通过这这种方式调用qt的方法
 (2015-01-23 17:38) 

目前5.4版本的QWebEngine,还没有提供addToJavaScriptWindowObjec这些方法
离线cct123

只看该作者 5楼 发表于: 2016-01-13
官方建议通过QtWebChannel能够实现C++/QML和HTML/javascript客户端之间进行无缝桥接,具体可以参看BLOG--《实现QT与HTML页面通信》,链接地址:http://blog.csdn.net/liuyez123/article/details/50509788


快速回复
限100 字节
 
上一个 下一个