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" 打开开发者工具
相关推荐
小浣熊熊熊熊熊熊熊丶13 小时前
《Effective Java》第25条:限制源文件为单个顶级类
java·开发语言·effective java
木千13 小时前
Qt中关于eventFilter函数无法过滤QTableWidget鼠标事件的处理方式
qt
啃火龙果的兔子13 小时前
JDK 安装配置
java·开发语言
星哥说事13 小时前
应用程序监控:Java 与 Web 应用的实践
java·开发语言
程序员爱钓鱼13 小时前
Node.js 编程实战:文件读写操作
前端·后端·node.js
PineappleCoder13 小时前
工程化必备!SVG 雪碧图的最佳实践:ID 引用 + 缓存友好,无需手动算坐标
前端·性能优化
等....13 小时前
Miniconda使用
开发语言·python
zfj32113 小时前
go为什么设计成源码依赖,而不是二进制依赖
开发语言·后端·golang
醇氧13 小时前
org.jetbrains.annotations的@Nullable 学习
java·开发语言·学习·intellij-idea
Java&Develop14 小时前
Aes加密 GCM java
java·开发语言·python