QT QWebView

一、 简介
使用QT程序可以访问web页面,但在不同QT版本中使用的类和方法不同:

           1. Qt4中使用webkit模块;

           2. Qt5 ~Qt5.5使用webkitwidgets模块;

           3. Qt5.6以上版本使用webenginewidgets模块。

   所以在不同版本中添加的模块,使用的类都不相同;

二、 Qt4版本

   Qt4使用webkit模块。

   1. 创建一个Widget类的QT工程,在pro工程文件中添加 webkit network :

QT += core gui webkit network
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = web
TEMPLATE = app

SOURCES += main.cpp
widget.cpp

HEADERS += widget.h

FORMS += widget.ui
2. 编辑widget.h文件,在Widget类中添加一个指针成员,该指针指向一个QWebView类:

#ifndef WIDGET_H
#define WIDGET_H

#include
#include <QtWebKit/QWebView>

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
Q_OBJECT

public:
explicit Widget(QWidget *parent = 0);
~Widget();

QWebView    *view;

private:
Ui::Widget *ui;
};

#endif // WIDGET_H
3. 修改widget.cpp,实现下面两个成员函数

#include “widget.h”
#include “ui_widget.h”

Widget::Widget(QWidget *parent) :
Widget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);

view = new QWebView(this);
view->load(QUrl("http://www.baidu.com"));
view.showMaximized();

}

Widget::~Widget()
{
delete view;
delete ui;
}

三、 Qt5 ~ Qt5.5版本

 Qt5版本之后,将QWebView、QWebFrame、QWebPage、QWebInspector等类被单独移到了webkitwidgets模块,不再在QtWebKit模块中,因此需使用webkitwidgets模块。

 和Qt4的区别仅在于pro文件中添加的模块不同和widget.h文件中包含的头文件不同。

QT += core gui webkitwidgets network
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
#ifndef WIDGET_H
#define WIDGET_H

#include
#include <QtWebKitWidgets/QWebView>

四、 Qt5.6及以上版本

 Qt5.5.1是最后一个支持webkitwidgets的版本,在5.6版本以及之后的版本,Qt将webkitwidgets模块移除,并用一个新的模块webenginewidgets代替。
 1. 创建一个Widget类的QT工程,在pro工程文件中添加 webenginewidgets:

QT += core gui webenginewidgets

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = web
TEMPLATE = app

SOURCES +=
main.cpp
widget.cpp

HEADERS +=
widget.h

FORMS +=
widget.ui

RESOURCES +=

 2. 编辑widget.h文件,包含QWebEngineView头文件,并在Widget类中添加一个指针成员,该指针指向一个QWebEngineView类:

#ifndef WIDGET_H
#define WIDGET_H

#include
#include

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
Q_OBJECT

public:
explicit Widget(QWidget *parent = 0);
~Widget();

QWebEngineView    *view;

private:
Ui::Widget *ui;
};

#endif // WIDGET_H

3. 修改widget.cpp,实现下面两个成员函数

#include “widget.h”
#include “ui_widget.h”

Widget::Widget(QWidget *parent) :
Widget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);

view = new QWebEngineView(this);
view->load(QUrl(QStringLiteral("http://www.baidu.com")));
view.showMaximized();

}

Widget::~Widget()
{
delete view;
delete ui;
}

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值