zl程序教程

您现在的位置是:首页 >  工具

当前栏目

Qt之QWebView

Qt
2023-09-11 14:14:13 时间

https://blog.csdn.net/qq_40194498/article/details/80783700

 

.pro文件添加:

Qt += webkitwidgets
1
在设计界面拖入QWebView和其他控件,连接控件间的信号槽:

头文件为默认,源文件:

#include "widget.h"
#include "ui_widget.h"
#include <QUrl>
#include <QWebView>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
ui->webView->setUrl(QUrl("https://www.baidu.com"));

}

Widget::~Widget()
{
delete ui;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
运行后界面无显示,并提示:

QSslSocket: cannot call unresolved function SSLv23_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_get_error
1
2
3
4
5
问题: 在初次写完之后我发现我的程序只能浏览http协议的网址,对于https协议的网址无法浏览

原因: https协议需要ssl的支持,否则会出现ssl握手错误,进而导致无法访问https协议的网址

解决方法:增加 libeay32.dll 和 ssleay32.dll 库

将Qt安装目录:D:\Qt\Qt5.4.2\Tools\mingw491_32\opt\bin下自带的libeay32.dll和ssleay32.dll拷贝到D:\Qt\Qt5.4.2\5.4\mingw491_32\bin

成功示例:

 

————————————————
版权声明:本文为CSDN博主「52_赫兹的鲸」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_40194498/article/details/80783700