惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Secure Thoughts
P
Privacy International News Feed
T
Tenable Blog
L
Lohrmann on Cybersecurity
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Threat Research - Cisco Blogs
S
Securelist
C
CXSECURITY Database RSS Feed - CXSecurity.com
Cisco Talos Blog
Cisco Talos Blog
T
The Exploit Database - CXSecurity.com
S
Schneier on Security
P
Privacy & Cybersecurity Law Blog
Vercel News
Vercel News
Cyberwarzone
Cyberwarzone
月光博客
月光博客
T
The Blog of Author Tim Ferriss
Scott Helme
Scott Helme
爱范儿
爱范儿
Stack Overflow Blog
Stack Overflow Blog
C
Cisco Blogs
aimingoo的专栏
aimingoo的专栏
博客园 - 司徒正美
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
P
Proofpoint News Feed
A
Arctic Wolf
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
L
LangChain Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
阮一峰的网络日志
阮一峰的网络日志
Simon Willison's Weblog
Simon Willison's Weblog
T
Tor Project blog
Security Latest
Security Latest
Blog — PlanetScale
Blog — PlanetScale
G
GRAHAM CLULEY
V
Vulnerabilities – Threatpost
博客园 - 三生石上(FineUI控件)
I
InfoQ
Spread Privacy
Spread Privacy
B
Blog RSS Feed
Microsoft Azure Blog
Microsoft Azure Blog
S
SegmentFault 最新的问题
云风的 BLOG
云风的 BLOG
Last Week in AI
Last Week in AI
MongoDB | Blog
MongoDB | Blog
C
CERT Recently Published Vulnerability Notes
A
About on SuperTechFans
博客园_首页
Engineering at Meta
Engineering at Meta
Project Zero
Project Zero
Latest news
Latest news

博客园 - China Soft

.NET 程序保护实战系列01-流水线架构与保护引擎总览 试官问:你用 AI 编程半年了,那怎么保证 Claude Code 写出来的代码是对的? C#实现控制台多区域输出 园友特惠| 1Panel 企业版 & AI 一体机限量放售,最高直降 5100! 上位机程序发布打包成安装包---Inno Setup 这是一篇学习笔记,分享给大家,如果大家喜欢,也会开启USB的专辑 我问了 AI 一个问题:编码能力贬值后,什么能力值钱? Visual Studio 2026(VS2026) 密钥/激活码 Dddify:给 ASP.NET Core 项目一套轻量、清晰、可落地的 DDD 基础设施 C# ESP32/STM32 轻量 Web 能力库:PicoServer.Nano 高性能百度OCR ONNX Runtime C#实现 别再说 AI 开发就是调接口了!5 种主流模式一次讲清 使用Cursor实现管理系统登录界面的快速开发 在 Avalonia 中编写高性能动画 傻子可懂的 Harness Engineering 入门教程 + 项目实战,一次搞懂 AI 编程工程化! 提升 Text2SQL 准确率 AI/Vibe Coding,本质是软件人工时代向软件工业时代发展 体验优先:十分钟使用 Python+LangChain 玩转阿里通义千问 大模型基础(二):必懂5大基础概念《Token、上下文窗口、Embedding、预训练、微调》 大模型基础(一):什么是LLM? Prompt、Agent、Function Call、Skill、MCP,傻傻分不清楚? 那些喊着AI 要淘汰你的人,正在靠你的焦虑赚大钱! 作为一线研发,我快被全网的 AI 焦虑逼疯了。 都是微软亲儿子,WPF凭啥干不掉WinForm?这3个场景说明白了 .NET 高级开发 | C# 中的动态代码:反射、EMIT、表达式树、Roslyn、Source Generators 大模型看大模型:推理Token的能耗用电量比对 WorkBuddy:从“我是谁”到“帮我干活” .NET 高级开发 | 开发 .NET 诊断工具、链路追踪原理 Prompt 焚诀——一个模板,终结你和 AI 的所有沟通问题 [项目]涉案资产信息化管理平台(山东某执法单位定制开发) 大模型RAG实战,从被骂不靠谱到成为部门MVP,这是我的踩坑全记录 白帽子为什么几乎都绕不开 httpx:一款 HTTP 资产探测工具的技术价值 从Prompt工程到Skill工程:Agent Skills开放标准彻底改变了AI协作方式 MAUI项目在Android平台通过U盘实现软件更新 微软竟然出了免费的 AI 应用开发课?!我已经学上了 一文彻底搞懂 OpenClaw 的架构设计与运行原理(万字图文) AI到底聪明在哪——从手机人脸识别说起 硬核科普:为何小米任天堂封杀 Root?揭秘操作系统从启动到“夺权”的底层游戏
Qt QtWebEngine 白屏的解决方案
China Soft · 2026-04-15 · via 博客园 - China Soft

https://blog.csdn.net/Mingyueruya/article/details/155948735

Qt QtWebEngine 白屏的解决方案
最近在项目中有同事反馈,软件在开启的瞬间和长时间挂机之后,会出现白屏的现象。

先来看看白屏的常见原因和解决方案

1、QtWebEngine 白屏最常见的 5 大原因和解决方案:

主要原因 解决方式
GPU 加速问题 禁用 GPU、使用 Software OpenGL
QtWebEngineProcess 未启动 检查目录结构、权限、杀软拦截
资源路径错误 开启 DevTools、自查 qrc/file 路径
OpenGL 不完整 用 Software OpenGL 或 ANGLE
沙箱限制 禁用 WebEngine sandbox
2、下面按类别给出详细排查和解决方案。

1、在开机的瞬间造成的白屏现象:

其实是QtWebEngine还未加载完成,可以接受QtWebEngine加载完成信号,在接受完成之后在现实界面。


connect(view, &QWebEngineView::loadFinished, this, [=](bool ok){
if(ok) {
emit webLoadFinished();
} else {
emit webLoadError();
}
});
AI写代码
cpp
1
2
3
4
5
6
7
8
2、GPU / 硬件加速导致的白屏(最常见)

在下列场景中很容易出现白屏:

显卡驱动过旧
虚拟机(VMware/VirtualBox)
Win7 + 旧 Intel 显卡
服务器环境 / 不支持 GPU
QtWebEngine 被 GPU blocklist 限制
解决方案:禁用硬件加速(试试就好用)
QCoreApplication::setAttribute(Qt::AA_UseSoftwareOpenGL);
QWebEngineSettings::globalSettings()->setAttribute(
QWebEngineSettings::Accelerated2dCanvasEnabled, false);
QWebEngineSettings::globalSettings()->setAttribute(
QWebEngineSettings::WebGLEnabled, false);
AI写代码
cpp
1
2
3
4
5
或启动参数:

QCoreApplication::setAttribute(Qt::AA_ShareOpenGLContexts);
QApplication app(argc, argv);

QtWebEngine::initialize();
QWebEngineProfile::defaultProfile()->setHttpUserAgent("Chrome"); // 防止兼容模式
AI写代码
cpp
1
2
3
4
5
单独禁用 GPU:

QWebEngineCommandLine::setArguments({"--disable-gpu", "--disable-software-rasterizer"});
AI写代码
cpp
1
3、QWebEngineProcess 子进程无法正常启动

Failed to start QWebEngineProcess
Render process terminated
AI写代码
cpp
1
2
通常原因:

程序目录无写入权限(C:\Program Files)
被杀毒软件阻止
程序打到 UAC 限制目录
同目录多个版本 Qt 混用
解决方案:
(1)给程序目录写权限
icacls "%~dp0" /grant Everyone:F /T
AI写代码
bat
1
(2)确保 QWebEngineProcess.exe 在运行目录:
结构必须是:

MyApp.exe
QtWebEngineProcess.exe
QtWebEngineCore.dll
resources\
locales\
AI写代码
bat
1
2
3
4
5
(3)程序启动时检查:
if (!QFile::exists(qApp->applicationDirPath() + "/QtWebEngineProcess.exe")) {
qDebug() << "Missing QWebEngineProcess";
}
AI写代码
cpp
1
2
3
4、资源路径错误(QRC / 本地文件未加载
如果你的页面是:

qrc:/xxx
file:///
本地 HTML + JS + CSS
白屏可能是静态资源没有加载成功。

解决方案:
(1)开启调试日志查看资源是否 404
QWebEngineSettings::defaultSettings()->setAttribute(
QWebEngineSettings::DeveloperExtrasEnabled, true);
AI写代码
cpp
1
2
按 F12 看 Network。

(2)检查资源是否打进资源包
<RCC>
<qresource prefix="/">
<file>html/index.html</file>
<file>html/js/app.js</file>
</qresource>
</RCC>
AI写代码
cpp
1
2
3
4
5
6
(3)使用 QUrl::fromLocalFile

view->load(QUrl::fromLocalFile("C:/app/resources/index.html"));
AI写代码
cpp
1
5、OpenGL 环境不完整
症状:

新显卡 + 旧驱动
Windows Server 系统(默认无 GPU)
远程桌面(RDP)导致 GPU 被禁用
Qt 报错 “OpenGL context failed”
解决方案:
(1)使用 ANGLE 或软件渲染
QCoreApplication::setAttribute(Qt::AA_UseSoftwareOpenGL);
AI写代码
cpp
1
(2)在远程桌面必须在控制台运行
尝试:

mstsc /admin
AI写代码
cpp
1
6、沙箱 / 安全策略导致无法运行
症状:

win7 权限低
公司电脑有 EDR/杀软
windows defender 限制
解决方案:
禁用 WebEngine 沙箱:

QWebEngineCommandLine::setArgument("--no-sandbox");
AI写代码
cpp
1
或使用:

qputenv("QTWEBENGINE_DISABLE_SANDBOX", "1");
AI写代码
cpp
1
总结:
确认 GPU 是否导致
强制禁用 GPU,一般 90% 可解决。
查看 QtWebEngineProcess 是否正常启动
打开任务管理器观察是否有 QtWebEngineProcess.exe。
打开 F12 调试工具是否能看到资源加载
Network 是否是 404 或 pending。
看日志output.log
set QTWEBENGINE_CHROMIUM_FLAGS=--enable-logging --v=1
AI写代码
1
5.尝试加载远程网页测试网络

view->load(QUrl("https://www.baidu.com"));
————————————————
版权声明:本文为CSDN博主「蓑衣夜行」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Mingyueruya/article/details/155948735