QWebEngineView点击网页链接跳转页面

A-

QWebEngineView实现网页链接的跳转需要重载

QWebEngineView *createWindow(QWebEnginePage::WebWindowType type)函数

 

点击网页跳转页面分为两种:

1.覆盖现有的页面

QWebEngineView *HtmlView::createWindow(QWebEnginePage::WebWindowType type) {

    return this;   //返回之后就会对当前页面对象进行刷新,之前的页面就变成跳转的页面

}

2.重新开启一个页面

QWebEngineView *HtmlView::createWindow(QWebEnginePage::WebWindowType type) {

    QWebEngineView *pp = new QWebEngineView();  //重新new页面出来
    pp->resize(this->size());

    emit newWebViewTab(pp);    //向外界发送消息,同时将生成的页面对象指针传送出,不回造成内存泄漏

    return pp;    //返回这个界面,类就会对新页面进行刷新,不回影响当前的页面对象
}

当你无法打开新的链接,可能你跟服务器之间的数据参数交互出了问题:

1. 头域: 比如说Cookie等,浏览器会保存Cookie,而QWebEngine却不回自动带Cookie,需要自己设置

2.浏览器设置:比如说LocalStorage,如果服务器将数据设置存储于浏览器,要注意,自己的浏览内核是否被设置,否则交互不成功

展开阅读全文

没有更多推荐了,返回首页