欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Qt之QWebView

程序员文章站 2024-01-20 20:48:46
...

.pro文件添加:

Qt += webkitwidgets

在设计界面拖入QWebView和其他控件,连接控件间的信号槽:
Qt之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.dllssleay32.dll拷贝到D:\Qt\Qt5.4.2\5.4\mingw491_32\bin

成功示例:
Qt之QWebView