QT Webengine开发过程报错qml: Render process exited with code 159 (killed)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、解决方法
  • 二、补充说明
  • 总结


前言

基于QT的Webengine开发过程中,QT的官方示例quicknanobrowser也无法成功运行,程序运行后,界面只是刷新一下,但是并无任何网页内容产生。有时,应用程序输出还会提示错误:qml: Render process exited with code 159 (killed)。该错误折腾了好久,最终终于解决,在此予以记录,主要参考知乎链接(https://www.zhihu.com/question/590162072)。
在这里插入图片描述


一、解决方法

由于该问题出现,并不会报出其他明显错误,而且,qml: Render process exited with code 159 (killed)错误基本也无法找到正确解决方法,因此,在这里提供给该报错下的问题的解决思路。即在QT项目的main.cpp的主程序中,添加内容如下:

int main(int argc, char **argv)
{QCoreApplication::setOrganizationName("QtExamples");QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);QtWebEngine::initialize();// ---------------------------添加内容,自此开始------------------------char ARG_DISABLE_WEB_SECURITY[] = "--disable-web-security";char ARG_DISABLE_SECCOMP_SECURITY[] = "--disable-seccomp-filter-sandbox";int newArgc = argc+1+1+1;// ARG_DISABLE_WEB_SECURITY + ARG_DISABLE_SECCOMP_SECURITY + nullptrchar** newArgv = new char*[newArgc];for(int i=0; i<argc; i++) {newArgv[i] = argv[i];}newArgv[argc] = ARG_DISABLE_WEB_SECURITY;newArgv[argc+1] = ARG_DISABLE_SECCOMP_SECURITY;newArgv[argc+2] = nullptr;// Application app(argc, argv);Application app(newArgc, newArgv);// ---------------------------添加内容,自此结束------------------------QQmlApplicationEngine appEngine;Utils utils;appEngine.rootContext()->setContextProperty("utils", &utils);appEngine.load(QUrl("qrc:/ApplicationRoot.qml"));if (!appEngine.rootObjects().isEmpty())QMetaObject::invokeMethod(appEngine.rootObjects().first(), "load", Q_ARG(QVariant, startupUrl()));elseqFatal("Failed to load sources");return app.exec();
}

二、补充说明

在这里,主要是关闭了两项安全功能:
1. --disable-web-security:
这个参数用于禁用浏览器的一些网络安全策略。主要的影响包括:
(1) 跨源请求限制: 正常情况下,浏览器遵循同源政策(Same-Origin Policy),限制来自不同源的文档或脚本互相交互。使用 --disable-web-security 参数会禁用这种限制,允许所有跨源请求。
(2) 文件访问限制: 在没有这个参数的情况下,从本地文件系统加载的页面不能访问其他文件或目录。禁用Web安全性后,页面可以自由读取本地文件系统上的任何文件。
2. --disable-seccomp-filter-sandbox
此参数用于禁用浏览器的 seccomp 沙盒。Seccomp(安全计算模式)是一个Linux内核特性,可以用来限制应用程序的系统调用:
(1) 系统调用限制: Seccomp沙盒能限制进程可以调用的系统调用,这是一种减少潜在安全风险的手段。启用 seccomp 可以防止恶意软件或被攻击的进程执行危险的系统调用。
(2) 提高安全性: 通过减少可用的系统调用,seccomp增加了浏览器进程的安全性,限制了潜在攻击者的操作空间。
笔者这里,在将第二项功能关闭后,问题即解决!第一项的关闭对笔者似乎没有作用,上述案例供大家参考。


总结

该问题困扰真的很久,一个似乎很简单的功能,出错却没有打印具体报错信息,在进行问题解决时,总是无从下手,甚至重装系统的心都有了!后续再碰到类似问题,还是需要多方面思考,一是从报错信息直接寻找缘由,二是从出错特征上寻找解决方法。最后,再次感谢知乎社区大佬给出的解决方案!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/1548.shtml

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

相关文章

git的学习

设置用户&#xff08;目的在于可以在远端看到是谁提交了内容&#xff0c;更方便公司的管理&#xff09; 1、设置全局用户&#xff08;在家路径下创建用户&#xff0c;每个项目都用这一个用户&#xff09;>: git config --global user.name manba >: git config --global …

《AI聊天类工具之八——​ 小悟空》

一.简介 官网:小悟空 小悟空是一款集智能对话和辅助推荐功能于一体的强大工具集。它为用户提供了创作生成、学习提升、工作职场、专业咨询、虚拟角色和休闲娱乐等二十余个类别的智能服务,以满足用户在工作、生活和娱乐各方面的需求。 在创作生成方面,小悟空可以帮助用户进…

使用Go语言和chromedp库下载Instagram图片:简易指南

摘要/导言 本文将介绍如何使用Go语言配合chromedp库来下载Instagram上的图片。我们将通过一个简单的示例来展示整个过程&#xff0c;包括如何设置爬虫代理IP以绕过网络限制。 背景/引言 在数据采集和自动化测试领域&#xff0c;Go语言以其出色的执行效率、简洁的语法和卓越的…

【科学研究】那些考进精英大学的农家子弟们

::: block-1 “时问桫椤”是一个致力于为本科生到研究生教育阶段提供帮助的不太正式的公众号。我们旨在在大家感到困惑、痛苦或面临困难时伸出援手。通过总结广大研究生的经验&#xff0c;帮助大家尽早适应研究生生活&#xff0c;尽快了解科研的本质。祝一切顺利&#xff01;—…

智能化转型的得力助手:山海鲸智慧工厂解决方案详解

在数字化浪潮席卷全球的今天&#xff0c;工业领域正迎来一场前所未有的智能化变革。作为这一变革的领军者&#xff0c;山海鲸智慧工厂解决方案以其前瞻性的技术理念和创新的解决方案&#xff0c;为工业发展注入了强大的动力。 山海鲸智慧工厂解决方案的核心在于其高度的集成性…

uniapp读取(获取)缓存中的对象值(微信小程序)

文章目录 问题描述解决方案存值取值 问题描述 大家好&#xff01;我是夏小花&#xff0c;今天是2024年4月24日|农历三月十六&#xff0c;在我们日常开发中&#xff0c;做小程序可能会往缓存中存值或者是存对象&#xff0c;今天这篇博客文章主要是讲如何在微信小程序如何读取缓存…

Windows Server 2012 R2 中 IIS 8.5 安装证书

文章目录 前言一、获取服务器证书二、证书格式转换二、IIS8安装证书1.Win R 键打开运行窗口 → 输入【inetmgr】→ 点击【确定】2.打开【IIS管理器】→ 点击计算机名称 → 双击打开【服务器证书】3.点击【导入】4.选择证书文件 → 输入密码 → 点击【确定】5.选择要使用证书的…

14. Spring AOP(二)实现原理

源码位置&#xff1a;spring_aop 上一篇文章中我们主要学习了AOP的思想和Spring AOP使用&#xff0c;本文讲的是Spring是如何实现AOP的&#xff0c;Spring AOP是基于动态代理来实现AOP的&#xff0c;在将动态代理之前先来了解一下什么是代理模式。 1. 代理模式 在现实中就有许…

深度学习transformer架构详细详解

一、transformer的贡献 transformer架构的贡献&#xff1a;该架构只使用自注意力机制&#xff0c;没有使用RNN或卷积网络。且可以实现并行计算&#xff0c;加快模型训练速度。 &#xff08;将所有的循环层全部换成&#xff1a;multi-headed self-attention&#xff09; 二、t…

VisualStudio2019和2022开发Winform项目用到Devexpress组件报错不能正确加载的解决办法

1.报错1 问题简单描述&#xff1a;DevExpress.Utils.ImageCollectionStreamer 无法强制转换为 DevExpress.Utils.ImageCollectionStreamer。 原因分析&#xff1a;原项目某个组件使用的是 DevExpresss.XtraBars.v15.1版本&#xff0c;直接引用扩展控件改成引用v20.2。 解决办法…

负载均衡集群——Nginx

目录 1.Nginx反向代理实战 2.Nginx 反向代理和负载均衡实践 实验操作步骤 步骤 1 Nginx1 和 Nginx2 配置 步骤2 测试资源是否可用 步骤 3 安装和配置 Nginx 代理 步骤 4 代理服务器配置检测 步骤 5 在 Nginx1 和 Nginx2 配置虚拟主机 步骤 6 将虚拟主机添加入后端主机组…

Let’s Encrypt 申请免费https证书(snapd安装)

Let’s Encrypt 最近给域名安装免费的https证书 Let’s Encrypt&#xff0c;发现跟之前的安装方式不太一样&#xff0c;这里记录一下安装过程 https://certbot.eff.org/instructions?wsnginx&oscentosrhel7 https://eff-certbot.readthedocs.io/en/latest/using.html#ng…

BMR:基于Boostrapping多视图的虚假新闻检测

一、概述 文章提出了三种视图信息来表示一篇新闻&#xff1a;文本、图像结构、图像语义。然后设计了改进的多门混合专家系统&#xff08;iMMoE&#xff09;来进行信息融合。保留单模态信息来保证特征对新闻的保真性&#xff0c;增加的多模态信息能保证不同模态的一致性&#xf…

【技术】Spring Boot 将 Word 转换为 PDF 2.0 版本

之前写过一篇 Spring Boot 将 Word 转换为 PDF 的文章&#xff0c;但是有评论说导入依赖有问题&#xff0c;还存在依赖冲突的问题。索性再来一个完整版的代码&#xff0c;之前的完整版代码找不到了&#xff0c;又重新整理了一下&#xff0c;依赖导入和之前不太一样&#xff0c;…

【KingSCADA】通过地址引用和弹窗模板实现设备控制

当相同的设备过多时&#xff0c;要做很多相同的弹窗&#xff0c;这种情况下可以通过地址引用和弹窗模板实现设备控制。 1.变量创建 2.画面开发 以阀门控制为例&#xff0c;只需要做一个阀门控制界面模板 3.地址引用 # 4.实现效果

eCognition 样本标注与导出

目录 一、可导出shp的样本标注方式 1、选择样本 2、导出样本shp 3、附录:转成样本用于训练 二、只能导出tif,不可导出shp 1、打开样本工具栏 2、选择样本 3、导出标注

每日算法4/21

LCR 073. 爱吃香蕉的狒狒 题目 狒狒喜欢吃香蕉。这里有 N 堆香蕉&#xff0c;第 i 堆中有 piles[i] 根香蕉。警卫已经离开了&#xff0c;将在 H 小时后回来。 狒狒可以决定她吃香蕉的速度 K &#xff08;单位&#xff1a;根/小时&#xff09;。每个小时&#xff0c;她将会选…

web自动化系列-selenium的3种弹框操作(十二)

在进行功能测试时 &#xff0c;经常会遇到出现各种的弹出的提示 &#xff0c;比如删除数据给出提示 、做某个操作时也会弹框给出一些友好提示 &#xff0c;因为这些弹框都是做web操作时的一些常用组件 &#xff0c;所以&#xff0c;selenium就不得不支持这些组件 。 1.弹框介绍…

随机森林计算指标重要性—从决策树到随机森林Python实现

文章目录 前言一、节点二、决策树2.1 案例分析——优良的水稻2.2 案例分析——家庭财富水平 三、随机森林三、Python代码实现3.1 关键问题3.1.1 节点的表示3.1.2 决策树的表示** 根节点划分左右子树的依据 **3.1.3 随机森林的构造与重要性的表示 3.2 节点类3.2 决策树类3.2.1 初…

AI-windows下使用llama.cpp部署本地Chinese-LLaMA-Alpaca-2模型

文章目录 Llamp.cpp环境配置Chinese-LLaMA-Alpaca-2模型介绍模型下载转换生成量化模型Anaconda环境安装运行Llamp.cpp环境配置 git clone git@github.com:ggerganov/llama.cpp.git cd llama.cpp mkdir build cd build cmake .. cmake --build . --config Release生成的文件在.…