使用QWebEngine实现简单的浏览器

使用QWebEngine实现了一个简单的浏览器。
只有后退、前进、刷新功能,也不能说是实现,应该说是QWebEngine提供了该功能,这里仅仅调用而已。
经测试QWebEngine在Qt5.9.1版本下,貌似仅支持MSVC编译,不支持minGW和安卓方式。
界面如图。
增加模块引用

QT       +=  webenginewidgets

控件布局:

 for(int i=0;i<5;i++)
        button[i] = new QPushButton;
    button[0]->setText("后退");
    button[1]->setText("前进");
    button[2]->setText("刷新");
    edit = new QLineEdit;
    edit->setText("http://www.baidu.com");

    hlayout = new QHBoxLayout;
    for(int i=0;i<5;i++)
        hlayout->addWidget(button[i]);
    hlayout->addWidget(edit);

    view = new QWebEngineView;
    view->load(QUrl(edit->text()));
    setWindowIcon(view->icon());


    glayout =new QGridLayout;
    glayout->addLayout(hlayout,0,0);
    glayout->addWidget(view);

    this->setLayout(glayout);


功能连接代码:

connect(button[0],&QPushButton::clicked,[=](){
        view->back();
    });//后退

    connect(button[1],&QPushButton::clicked,[=](){
        view->forward();
    });//前进

    connect(button[2],&QPushButton::clicked,[=](){
        view->load(view->url());
    });//刷新

    connect(edit,&QLineEdit::returnPressed,[=](){
        if(edit->text() == "")
            return;
        if(edit->text().indexOf("://") == -1)
            edit->setText("http://"+edit->text());
        view->load(QUrl(edit->text()));
    }); //回车跳转

    connect(view,&QWebEngineView::iconChanged,[=](){
        setWindowIcon(view->icon());
    });//网站图标被改变

    connect(view,&QWebEngineView::titleChanged,[=](){
        setWindowTitle(view->title());
    });//标题被改变

    connect(view,&QWebEngineView::urlChanged,[=](const QUrl& url) mutable {
        edit->setText(url.toString());
    });//网址被改变

©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值