用于 javascript 的 QT 5.4 WebEngine 开发工具

Posted

技术标签:

【中文标题】用于 javascript 的 QT 5.4 WebEngine 开发工具【英文标题】:QT 5.4 WebEngine dev tools for javascript 【发布时间】:2015-02-03 11:10:56 【问题描述】:

我正在使用 QWebEngineView 和 QWebEnginePage 创建一个应用程序。 我想知道是否有办法激活 Web 开发工具?

我需要调试 htmljavascript 代码,就像你在 Chrome 上使用 Google 开发者工具做的那样。

如果在 QT 5.4 中无法实现,那么有人知道它计划何时包含在 QT 的未来版本中吗?

【问题讨论】:

我不确定,但另一种方法是在您的页面中嵌入 Firebug Lite。更多信息:getfirebug.com/firebuglite 【参考方案1】:

将这些行添加到您的代码中

#ifdef QT_DEBUG
    qputenv("QTWEBENGINE_REMOTE_DEBUGGING", "9000");
#endif

启动您的应用程序后,启动谷歌浏览器,然后导航到http://localhost:9000,您将获得开发者工具

【讨论】:

【参考方案2】:

您可以使用较旧的 QWebView 来实现,请参阅 QWebSettings::DeveloperExtrasEnabled。

文档与 QWebEngineView 没有任何相同之处,但我发现了这个 link(查看第 47 行)。我没有尝试它是否有效,但您可以尝试。可能会在以下 QT 版本之一中提供开发工具。

【讨论】:

【参考方案3】:

这里有一个更灵活的解决方案:使用命令行参数--remote-debugging-port=XXXX启动应用程序。它由 QApplication 自动路由到 Blink(或任何 QWebEngine )内部,因此不需要像参数解析这样的额外工作;并且无需重新构建应用即可更改。

更新:坦率地说,我只在 5.5 和 5.6 中使用过,也许 5.4 中不支持它

【讨论】:

【参考方案4】:

set command line "remote-debugging-port=XXXX";但是有个问题,当应用退出时,会产生crash

【讨论】:

以上是关于用于 javascript 的 QT 5.4 WebEngine 开发工具的主要内容,如果未能解决你的问题,请参考以下文章

Qt 5.4,数据库未打开错误

使用 Qt 5.3 或 Qt 5.4(但不是 Qt 5.2)编译时,QGuiApplication 在手机锁定时停止事件循环

连接 DLL 后出现 QT 5.4 错误

如何在 Qt 5.4 应用程序中包含 QtScript 模块

在 Qt 5.4 上编译 QXmpp 库时出错

Qt 5.4 - Mac OS X 10.6 支持