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.hqwc.cn/news/638397.html

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

相关文章

TypeError: Cannot read property ‘forceUpdate‘ of undefined

今天给大家展示一个 我自己在写项目的时候遇到的保存 其实很简单就是没有修改addid 把自己的小程序appid填上去就好了 学习记录笔记&#xff01;

决策树原理及应用

目录 一、决策树概述 1.1决策树的组成 1.2构建决策树 1.3决策树的剪枝 1.4决策树的优点和缺点 二、决策树在计算机视觉中的应用 三、基于决策树的图像分类实例 一、决策树概述 决策树是一种非常流行的机器学习算法&#xff0c;它用树状图的形式来表示决策过程。决策树可…

FastJson2中FastJsonHttpMessageConverter找不到类问题

问题描述 如果你最近也在升级FastJson到FastJson2版本&#xff0c;而跟我一样也遇到了FastJsonHttpMessageConverter找不到类问题以及FastJsonConfig找不到问题&#xff0c;那么恭喜你&#xff0c;看完本文&#xff0c;安装完fastjson2、fastjson2-extension、fastjson2-exte…

舒适护眼模式:苹果手机字体大小怎么设置?

在现代社会&#xff0c;人们对于手机的使用已经不再局限于通讯和娱乐&#xff0c;也逐渐成为了我们生活和工作中不可或缺的一部分。然而&#xff0c;长时间使用手机可能会对我们的视力造成一定程度的影响。 为了更好地保护视力健康&#xff0c;苹果手机提供了舒适护眼的模式&a…

【Linux】认识文件(二):重定向

【Linux】认识文件&#xff08;二&#xff09;&#xff1a;重定向 一.stdout,stderr,stdin二.重定向1.什么是重定向i.输出重定向>ii.追加重定向>>iii.输入重定向< 2.重定向原理3.dup2的使用 三.理解linux中的一切皆文件 上篇文件博客中&#xff0c;讲了进程管理已打…

见鬼了!我家的 WiFi 只有下雨天才能正常使用...

这是作者大学时期在家里遇到的一个非常奇怪的网络问题&#xff0c;作者的父亲是一名经验丰富的网络工程师&#xff0c;他们家里使用了一个复杂的网络设置&#xff0c;通过 Wi-Fi 桥接的方式&#xff0c;将父亲公司的高速商业网络连接到家中。但是有一天&#xff0c;作者发现家里…

互联网技术知识点总览——数据库知识点框架

简介 本文对数据库的知识点整体框架进行梳理和分享如下&#xff1a;

【图说】VMware Ubuntu22.04 详细安装教程

前言 无论是从事 Linux 开发工作&#xff0c;还是希望电脑运行双系统&#xff0c;VMware 虚拟机都是我们日常工作不可或缺的工具。本章将会重点介绍 VMware 安装流程&#xff0c;以及在 VMware 上如何运行、使用 Ubuntu22.04 系统。 一、VMware 下载安装 1.1 VMware 官网下载…

Bootstrap 5 保姆级教程(十五):表单

一、表单 1.1 堆叠表单 以下实例使用两个输入框&#xff0c;一个复选框&#xff0c;一个提交按钮来创建堆叠表单&#xff1a; <div class"container mt-3"><h2>堆叠表单</h2><form action""><div class"mb-3 mt-3"…

Oracle VM VirtualBox虚拟机安装配置

一、下载镜像文件 首先&#xff0c;需要从Oracle官方网站下载VirtualBox的最新版本。下载完成后&#xff0c;双击安装包开始安装。按照安装向导的提示&#xff0c;同意许可协议&#xff0c;并选择安装位置。在安装过程中&#xff0c;可以根据需要选择是否创建快捷方式、是否安…

150G全国1米分辨率土地利用数据【2023年】

#1数据摘要 全国1米分辨率土地利用数据 全国范围,分省份分类,1米精度土地利用数据。2023年版本。 数据格式:tif 坐标系:wgs1984 范围:全国各省份 时间:2023年 精度:1米 地类:共计11个地类 中国1m分辨率土地覆盖数据 文件命名与介绍:数据为GeoTIFF栅格格式,每个城市…

CK_Label_V1

CK_Label_v1&#xff08;电池版&#xff09; 产品型号 CK_Label_v1 尺寸 37*65*33.7mm 按键 1 指示灯 1 RGB灯(红/绿/蓝/黄/紫/白/青) 外观颜色 白色 供电方式 5号干电池供电1800mAh&#xff0c;可更换电池 通信方式 无线通信 合规认证 CE, RoHS 工作温度 …