当前位置: 首页 > news >正文

Qt加载网页崩溃 ASSERT:“m_adapterClient“ in file ...

1、软件启动后加载网页无异常,点击按钮,加载新网页时崩溃

崩溃代码:

    QWebEngineView *createWindow(QWebEnginePage::WebWindowType type)
    {
        Q_UNUSED(type);

        return this;
    }

2、原因

Qt只是调用谷歌的浏览器引擎,不是像firefox、chrome那样的浏览器,浏览器已经提供了tab页去显示一个新的链接,因此需要自己设置如何显示新链接。

3、解决方法:

(1)load()新的url

QWebEngineView的urlChanged()附带的参数就是url地址,所以如果你想在本webview视图上显示这个页面就直接在绑定的槽函数onUrlChanged()里调用load(url)就ok了。

解决代码:

//绑定urlChanged()信号槽

    connect(m_webView, SIGNAL(urlChanged(const QUrl)), this, SLOT(onUrlChanged(const QUrl)));

//加载跳转的网页

void QWebTestWidget::onUrlChanged(const QString &url)
{
    m_webView->load(QUrl(url));
}

(2)重写createWindow()方法

createWindow()默认返回NULL,无法显示新的链接是因为没有提供一个QWebEngineView给它,在这个方法里有一个WebWindowType类型参数。

    解决代码:

QWebEngineView *createWindow(QWebEnginePage::WebWindowType type)
    {
        if (type == QWebEnginePage::WebBrowserTab)//解决崩溃问题
        {
            QWebEnginePage* newPage = new QWebEnginePage(this->page()->profile(), this);
            this->setPage(newPage );
        }

        return this;
    }

http://www.lryc.cn/news/292218.html

相关文章:

  • 合约短线高胜率策略-扭转乾坤指标使用说明
  • DAY37:贪心算法738
  • 计算机中的缓存与内存
  • 2.1总结
  • 探索Pyecharts:绘制多彩日历图的艺术与技巧
  • 响应标头Allow-Headers和Expose-Headers的区别和用法
  • <网络安全>《13 上网行为管理》
  • 安全通道堵塞识别摄像机
  • 2022 年全国职业院校技能大赛高职组云计算赛项试卷
  • Android开发中,Vue 3处理回退按键事件
  • three.js CSS3DRenderer、CSS3DSprite渲染HTML标签
  • 【BBF系列协议】TR369管理平台软件设计
  • 微信小程序 仿微信聊天界面
  • 中国社会科学院大学-新加坡社科大学 招生简章
  • js中继承的详解(一文读懂)
  • Android studio使用svg矢量图
  • 《Access Path Selectionin a Relational Database Management System》论文笔记
  • 【AI_Design】Midjourney学习笔记
  • 面试宝典之深谈JVM
  • idea配置tomcat
  • 【MyBatis】操作数据库——入门
  • 免费分享一套SpringBoot+Vue药店(药房)管理系统,帅呆了~~
  • 视频怎么加水印?分享两个简单的加水印的方法
  • Apache Commons Collection3.2.1反序列化分析(CC1)
  • MySQL入门篇(10)-聚合函数的应用
  • Vue3基本概念
  • 每日OJ题_算法_模拟①_力扣1576. 替换所有的问号
  • 杂题——试题 算法训练 区间最大和
  • (安卓)跳转应用市场APP详情页的方式
  • 亚信安全助力宁夏首个人工智能数据中心建成 铺设绿色算力安全底座