打开Qt自带的浏览器例子browser,输入 https://stackoverflow.com/questions/25850803/qwebview-always-fails-to-load-website 结果程序直接崩溃。
google一天无果,曾经想过更换到webengine,但是由于项目是跨平台,如果更换到msvc,工作量太多,并且也不一定有QWebView稳定。
QWebView访问网页做了很多工作,比如https://stackoverflow.com/questions/25850803/qwebview-always-fails-to-load-website会获取网页的html,js等文件,所以会执行多次get操作,在其中访问某一个网页时出现错误,导致崩溃。
于是只能自己查找崩溃原因,下面列出步骤(当你的webview访问网页有问题时可以参考)
1、检查ssl文件是否在程序当前目录(debug版本直接放在Qt安装目录下的Qt5Network.dll的同级目录) ,即ssleay32.dll以及libeay32.dll文件
2、检查你是否对QWebSettings进行过设置(即webview->settings()->setAttribute,一般为默认)
3、分析访问结果,webview->page->networkAccessManager() 获取到QNetworkAccessMan