用于 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 开发工具?
我需要调试 html、javascript 代码,就像你在 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.3 或 Qt 5.4(但不是 Qt 5.2)编译时,QGuiApplication 在手机锁定时停止事件循环