背景
- 之前写过一篇帖子,描述使用QWebView来显示气泡弹框。最近因为工作需要,QT版本升级到了5.12.4,原先的QWebView不能用了,改用新的QWebEngineView来显示气泡弹框。
思路描述
- QWebEngineView的使用方式改为了异步,这点跟以前有很大不同。所以不能再通过以前的接口获取已加载网页的尺寸大小。
- 这里采用的解决方法,是自己拼接对应的html字符串,通过JS调用C++接口的方式来获取已加载的内容尺寸。
- imageload是自定义的js文件,fnLoaded是其中加载完成后的回调接口。

<img src="file:///E:/Camera/20180201_123806.jpg" width="600" />
<script type="text/javascript" src="./qwebchannel.js"></script>
<script type="text/javascript" src="./imageload.js"></script>
<script type="text/javascript">
var aImgArray=document.getElementsByTagName("img");
for(var i=0;i<aImgArray.length;i++){
aImgArray[i].onload = function(){
fnLoaded(this);
}
}
</script>