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.mzph.cn/news/665432.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iPad“粘贴自”字样不消失解决办法

iPad“粘贴自”字样不消失解决办法 好无语,写论文主要就靠iPad看资料,复制粘帖的时候卡死搞得我无敌焦躁,问了🍎支持的客服才解决,方法如下:1.音量上键按一下 2.音量下键按一下 3.一直按开关机键直到出现苹…

031 递归

何为递归 示例 public static void main(String[] args) {System.out.println(fn(5)); }static int fn(int a){return a 1 ? 1 : a * fn(a - 1); }

浅析Redis③:命令处理之数据返回Client(下)

写在前面 Redis作为我们日常工作中最常使用的缓存数据库,其重要性不言而喻,作为普通开发者,我们在日常开发中使用Redis,主要聚焦于Redis的基层数据结构的命令使用,很少会有人对Redis的内部实现机制进行了解&#xff0c…

华为鸿蒙系统第三方桌面手机管家版本号12.0.1.330

起因 放假在家,准备把自己的旧手机给家里老人看小视频,但是老人不懂智能手机的复杂操作,就想换成《极简桌面》这个软件,在“设置->默认应用->桌面”,但是华为为了“保护用户的隐私以及合法权益”禁用了第三方启…

202417读书笔记|《画•大师 阿尔丰斯•穆夏》——在明亮大胆的色调中熠熠生辉

202417读书笔记|《画•大师 阿尔丰斯•穆夏》——在明亮大胆的色调中熠熠生辉 这是读完的第二本或者第三本穆夏的画集。很赞,他的绘画风格,构图,元素,取大自然的月桂树,常青藤,🌙的不同形态&…

链表与二叉树-数据结构

链表与二叉树-数据结构 创建叶子node节点建立二叉树三元组:只考虑稀疏矩阵中非0的元素,并且存储到一个类(三元组)的数组中。 创建叶子node节点 class Node{int no;Node next;public Node(int no){this.nono;} } public class Lb…

Fink CDC数据同步(三)Flink集成Hive

1 目的 持久化元数据 Flink利用Hive的MetaStore作为持久化的Catalog,我们可通过HiveCatalog将不同会话中的 Flink元数据存储到Hive Metastore 中。 利用 Flink 来读写 Hive 的表 Flink打通了与Hive的集成,如同使用SparkSQL或者Impala操作Hive中的数据…

流畅的Python(七)-函数装饰器和闭包

一、核心要义 主要解释函数装饰器的工作原理,包括最简单的注册装饰器和较复杂的参数化装饰器。同时,因为装饰器的实现依赖于闭包,因此会首先介绍闭包存在的原因和工作原理。 二、代码示例 1、变量作用域规则 #!/usr/bin/env python # -*-…

前端学习笔记 | HTML5+CSS3静态网页制作的技巧(持续更新)

注:本文的css样式均使用less写法 1、字体居中 (1)先text-align:center;行内元素水平居中 (2)再line-heigh:(盒子高度);行内元素垂直居中 text-align: center;line-height: ( 30 / vw ); 2、盒子居中 情景1&#…

【课程作业_01】国科大2023模式识别与机器学习实践作业

国科大2023模式识别与机器学习实践作业 作业内容 从四类方法中选三类方法,从选定的每类方法中 ,各选一种具体的方法,从给定的数据集中选一 个数据集(MNIST,CIFAR-10,电信用户流失数据集 )对这…

【大数据技术攻关专题】「Apache-Flink零基础入门」手把手+零基础带你玩转大数据流式处理引擎Flink(基础加强+运行原理)

手把手零基础带你玩转大数据流式处理引擎Flink(运行机制原理加深) 前提介绍运行Flink应用运行机制Flink的两大核心组件JobManagerTaskManagerTaskSlot Flink分层架构Stateful Stream ProcessingDataStream和DataSetDataStream(数据流&#xf…

GPIO中断

1.EXTI简介 EXTI是External Interrupt的缩写,指外部中断。在嵌入式系统中,外部中断是一种用于处理外部事件的机制。当外部事件发生时(比如按下按钮、传感器信号变化等),外部中断可以立即打断正在执行的程序&#xff0…

大红喜庆版UI猜灯谜小程序源码/猜字谜微信小程序源码

今天给大家带来一款UI比较喜庆的猜灯谜小程序,大家看演示图的时候当然也是可以看得到那界面是多么的喜庆,而且新的一年也很快就来了,所以种种的界面可能都比较往喜庆方面去变吧。 这款小程序搭建是免服务器和域名的,只需要使用微信开发者工具…

Linux一键部署telegraf 实现Grafana Linux 图形展示

influxd2前言 influxd2 是 InfluxDB 2.x 版本的后台进程,是一个开源的时序数据库平台,用于存储、查询和可视化时间序列数据。它提供了一个强大的查询语言和 API,可以快速而轻松地处理大量的高性能时序数据。 telegraf 是一个开源的代理程序,它可以收集、处理和传输各种不…

Linux开发工具

前言:哈喽小伙伴们,经过前边的学习我们已经掌握了Linux的基本指令和权限,相信大家学完这些之后都会对Linux有一个更加深入的认识,但是Linux的学习可以说是从现在才刚刚开始。 这篇文章,我们将讲解若干个Linux的开发工…

Java基础数据结构之Map和Set

Map和Set接口 1.Set集合:独特性与无序性 Set是Java集合框架中的一种,它代表着一组无序且独特的元素。这意味着Set中的元素不会重复,且没有特定的顺序。Set接口有多个实现类,如HashSet、LinkedHashSet和TreeSet。 2.Map集合&…

Redis核心技术与实战【学习笔记】 - 19.Pika:基于SSD实现大容量“Redis”

前言 随着业务数据的增加(比如电商业务中,随着用户规模和商品数量的增加),就需要 Redis 能保存更多的数据。你可能会想到使用 Redis 切片集群,把数据分散保存到不同的实例上。但是这样做的话,如果要保存的…

利用牛顿方法求解非线性方程(MatLab)

一、算法原理 1. 牛顿方法的算法原理 牛顿方法(Newton’s Method),也称为牛顿-拉弗森方法,是一种用于数值求解非线性方程的迭代方法。其基本思想是通过不断迭代来逼近方程的根,具体原理如下: 输入&#…

PCB笔记(二十三):allegro 标注长宽(一般用于测量板宽)时如何显示双单位

步骤:首先选择标注工具,然后右键→Parameters,在弹出来的窗口中√上如下图二所示选项 最终要达到显示单位的效果的话,需要在Text项键入%v%u。 今天就记录到这里啦O

Leetcode206:反转链表

一、题目 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表 示例: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1]输入:head [1,2] 输出:[2,1]输入:head [] 输出&#xff1…