Qt之QWebView
程序员文章站
2024-01-20 20:48:46
...
.pro
文件添加:
Qt += webkitwidgets
在设计界面拖入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;
}
运行后界面无显示,并提示:
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
问题: 在初次写完之后我发现我的程序只能浏览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
成功示例: