qt框架,使用webEngine如何调试前端

解决 Qt 5.14.2 中启用开发者工具的问题

问题在于 Qt 5.14.2 中 QWebEngineSettings::DeveloperExtrasEnabled 属性已被弃用或更改。

正确启用开发者工具的完整方法(Qt 5.14.2)

1. 修改 main.cpp

复制代码
#include <QWebEngineView>
#include <QWebEngineSettings>
#include <QWebEnginePage>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    
    // 创建主窗口
    QMainWindow window;
    
    // 创建WebEngine视图
    QWebEngineView *webView = new QWebEngineView(&window);
    
    // 启用开发者工具 - Qt 5.14.2 正确方式
    QWebEnginePage *page = webView->page();
    
    // 方法2:启用远程调试(推荐)
    page->setDevToolsPage(page); // 关键设置
    
    // 设置WebChannel(如果使用)
    QWebChannel *channel = new QWebChannel(webView);
    channel->registerObject("backend", backend);
    page->setWebChannel(channel);
    
    // 加载HTML内容
    // ...
    
    return app.exec();
}

2. 设置环境变量(重要)

在代码开头添加环境变量设置:

复制代码
#include <QApplication>
#include <QProcessEnvironment>

int main(int argc, char *argv[])
{
    // 设置远程调试端口
    qputenv("QTWEBENGINE_REMOTE_DEBUGGING", "9222");
    
    QApplication app(argc, argv);
    // ...
}

3. 使用 Chrome 进行远程调试

  1. ​启动应用程序​

  2. ​打开 Chrome 浏览器​

  3. ​访问地址栏输入​

    复制代码
    chrome://inspect
  4. ​配置端口​

    • 点击 "Configure..."
    • 添加 localhost:9222
  5. ​开始调试​

    • 在 "Remote Target" 部分找到您的应用
    • 点击 "inspect" 打开开发者工具
相关推荐
Lsir10110_13 分钟前
从按钮“点不动“讲起——深入理解 Qt 信号槽机制
开发语言·qt·信号处理
君科程序定做15 分钟前
用 IDL 处理高分一号(GF-1 / GF-1B/C/D)数据
c语言·开发语言
敲代码的嘎仔18 分钟前
用 Redis 合并写 + DelayQueue 延迟检测,把视频播放进度写库频率降到 1/60
java·开发语言·数据库·redis·缓存·音视频·高并发
代码中介商1 小时前
C++ 预约系统实战(一):项目总览与 C/S 架构设计
c语言·开发语言·c++
一拳不是超人1 小时前
一个没测暗色模式的 Bug,吃掉了我一半 谷歌扩展用户
前端·javascript·程序员
lqj_本人1 小时前
WinMerge 鸿蒙 PC 适配全记录:以 Qt 重建桌面外壳,打通文件与文件夹差异闭环
qt·华为·harmonyos
我叫汪枫1 小时前
RAG 进阶:切分、检索、重排序,以及它和 Agent、微调、MCP 都是什么关系
开发语言·python
lqj_本人1 小时前
Tftpd64 鸿蒙 PC 适配全记录:用 Qt 重建一组可运行的 UDP 网络服务
qt·udp·harmonyos
弘毅 失败的 mian1 小时前
数组和指针基础
c语言·开发语言·经验分享·笔记
liangshanbo12151 小时前
React useState 函数式更新面试题整理
前端·react.js·前端框架