1)因为QT5.6版本以上,webkitWidgets不在使用,如果使用的版本高于5.6,需要手动安装webkitWidgets,
方法如下:
a) 去 https://github.com/qtwebkit/qtwebkit/releases/tag/qtwebkit-5.212.0-alpha4 下载对应操作系统版本,
我的用时minGW64-Bit,如下图所示:
b) 下载后文件解压、拷贝等操作,如下图所示:
2)编写相关webkitwidgets相关代码,代码如下:
a)工程文件包含 webkitwidgets 模块;
b)widget.h文件代码如下:
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QtWebKitWidgets/QWebView>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = nullptr);
~Widget();
private slots:
void on_pushButton_clicked();
private:
Ui::Widget *ui;
QWebView *view;
};
#endif // WIDGET_H
b)widget.cpp文件代码如下:
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
view=new QWebView(this);
ui->verticalLayout->addWidget(view);
view->show();
}
Widget::~Widget()
{
delete ui;
ss
}
void Widget::on_pushButton_clicked()
{
view->load(QUrl("https://html5test.com"));
qDebug() << QStringLiteral("OpenSSL支持情况:") << QSslSocket::supportsSsl();
}
c)ui文件如下图所示:
上诉代码运行,可能会出现类似 “OpenSSL不支持情况”,需要安装OpenSSL,注意有32bit和64bit之分;
可能会有错误信息:“qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed”;
运行结果如下: