问题标签 [qwebengineview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2580 浏览

python - PyQt5 使用 QWebEngineView 渲染

我想将网页渲染到屏幕外的图像,但是当我使用以下代码时,输​​出图像为空白,我无法解决问题

0 投票
0 回答
337 浏览

c++ - 如何使用 QWebEngineView 从 YouTube 流式传输实时内容

我正在尝试使用 QWebEngineView 的加载方法从 youtube 流式传输实时内容。我目前正在将实时媒体的 url 作为参数传递给 load(),如下所示:

我得到一个带有以下文本的空白屏幕“您的浏览器当前无法识别任何可用的视频格式”。直播流之前可以工作,但它突然停止工作。我已经安装了 Flash Player。

顺便说一句,除了通过 QWebEngineView 显示实时内容之外,我真的很喜欢。

我在 Windows 10 机器上使用 Qt 5.9.3 MSVC2017

0 投票
1 回答
3234 浏览

python - 无法使用 QWebEngineView.setHtml() 加载 HTML 文件

我的问题的解决方案可能很简单,但在我的理解之外。我正在尝试使用 PyQt5 将 HTML 文件加载到 QWebEngineView 中。我这样做的方式是:

我唯一得到的是一个代表我的 HTML 文件的路径和名称的字符串:

C:\DATI\git\webgis\map.html

我的map.html看起来像这样:

奇怪的是(至少对我来说),如果我这样做self.webView.setHtml("<html><head></head><body><h1>ciao</h1></body></html>"),这将正确呈现 HTML。

我错过了什么?

0 投票
1 回答
84 浏览

python-2.7 - 使用固定的内部命令参数运行脚本以包含 Qwebengine pepflashplayer

我制作了一个我想要便携的 PyQt5 QWebengine 应用程序。我发现闪光灯在应用程序中不起作用。经过大量阅读后,我发现文件夹中有 pepflashplayer64_*.dll 和 manifest.json

C:\Windows\System32\Macromed\Flash\ 正在工作。

但是我想将 pepflashplayer 与应用程序一起发布,并将自定义 flash 文件夹添加到 PATH env var,没有效果,或者 sys.path.insert()

命令

有效,但是当脚本启动时如何在内部传递额外的增强?

我尝试用额外的命令运行 sys.arg[0] 脚本,但没有成功。

0 投票
1 回答
1604 浏览

python - QWebEngineView - 如何在系统浏览器中打开链接

我有以下代码片段在 PySide 中工作,需要将其翻译为在 PySide2 中工作。目的是在单击时强制所有链接在系统浏览器中打开(而不是小部件试图加载它们):

这是我的翻译尝试:

但是,QWebEngineView .linkClicked 不存在,QWebEngineView .setLinkDelegationPolicy 或 QWebEnginePage .DelegateAllLinks 也不存在。

没有上述内容,在 PySide2 中实现这一目标的最佳方法是什么?

编辑:我检查了触发的 QEvents,但单击链接时似乎没有触发任何事件,因此如果没有来自 PySide/Qt4.8 的linkClicked事件,我不知道如何挂钩。

谢谢,坦率

0 投票
1 回答
596 浏览

python - 使用 QWebEngine 在同一窗口中打开任何链接(甚至 _blank)

我有这段代码应该访问/关注我在同一窗口中单击的任何链接,即使它通常会在新窗口中打开。这将不必右键单击,然后从上下文菜单中选择“关注链接”。由于某种原因,它没有按预期工作。

这是代码:

0 投票
1 回答
738 浏览

qt - 如何在不打开窗口的情况下使用 QWebEngineView 截取网页截图

我正在寻找一种使用QWebEngineView. 主要目标是开发一个在后台运行的无头屏幕捕获应用程序。

我已经设法获得了一个最小的工作示例(例如,请参见this)。但是,这些示例需要使QWebEngineView小部件可见,或者通过调用QWebEngineView::show()QWebEngineView::showMinimized()甚至QWebEngineView::setVisible(true),以便能够截取网站的屏幕截图。由于这会导致打开一系列窗口,因此该解决方案并不完美。

有谁知道在QWebEngineView不弹出窗口的情况下截取网站截图的方法?

0 投票
1 回答
1412 浏览

python - 在 QWebEngineView 浏览器中保存 html 文件

我正在尝试使用 Python QWebEngineView 创建自己的浏览器。我遵循了在 PyQt5 以前版本(大约 2015 年)上工作的教程,但由于它最近的更新,以前代码的某些部分不再工作。

我已经修复了大多数错误,但我无法执行 html 文件打开/保存。单击保存按钮时,我总是收到系统错误。以下是我的文件保存代码:

(QMainWindow 类)

(保存文件功能)

谢谢你。

0 投票
0 回答
292 浏览

python - QWebEngineView 设置

我这里有一个代码:

“self”是 QWebEngineView(new class),不,它不起作用。你能帮我吗?我搜索了很多...

PS它没有错误。

0 投票
0 回答
1554 浏览

windows - QWebEngineView 在 Windows 发布版本上崩溃,因为它找不到所需的资源文件

我目前正在使用 Qt 5.9 为 Windows 开发一个应用程序,该应用程序使用QWebEngineView实例在内部显示一些本地 HTML 文件。代码相当简单,我认为它与手头的问题无关:

这在我的开发机器上很好地工作,在调试和发布配置上。我的应用程序已经投入生产,因此可以使用Qt Installer Framework进行安装。我正在使用windeployqt进行部署。同样,安装的二进制文件可以毫无问题地呈现我机器上的网页。但是,在具有相同操作系统的不同机器上,只要实例化 Web 视图,它就会崩溃。

经过一些调试,这是我的发现:

根据网络引擎上的文档:

Qt WebEngine 需要以下资源文件:

qtwebengine_resources.pak 包含 Chromium 所需的资源。qtwebengine_devtools_resources.pak 包含用于远程调试的工具。qtwebengine_resources_100p.pak 包含适用于低分辨率显示器的图像。qtwebengine_resources_200p.pak 包含适合高 DPI 显示的图像。icudtl.dat 为 Unicode 国际组件 (ICU) 提供支持。它是 ICU 的 Chromium 版本,如果将 Qt WebEngine 配置为使用系统 ICU,则不需要它。

从以下位置搜索资源:

在 Linux 和 Windows 上:QLibraryInfo::location(QLibraryInfo::DataPath) 指定目录中的资源目录

我发现这很奇怪,因为应用程序目录的输出会产生以下内容(为方便起见进行了修剪):

这清楚地表明网络引擎文件在理论上是正确定位的。我尝试调试 的值QLibraryInfo::location(QLibraryInfo::DataPath),它产生了C:/Qt/Qt5.9.2/5.9.2/msvc2017_64,它甚至不是目标机器上的目录,而是我的开发 PC 上的目录。相反,我认为它应该输出./resources.

如果我将文档中提到的文件与它应该运行的应用程序二进制文件放在同一目录中,但我希望QLibraryInfo::DataPath自动检测该目录的位置,而不是看起来是硬编码的价值。

因此,我想问以下问题:

  • 我是否正确执行此部署?我从来没有遇到过应用程序无法加载任何类型的 Qt 库的问题,而且文件似乎在它们应该在的位置。
  • 究竟如何QLibraryInfo::location(QLibraryInfo::DataPath)解决路径?它们是硬编码的值还是在运行时确定的?
  • 让应用程序找到资源的最明智的方法是什么?我正在考虑以下解决方案:

    • 手动将文件放在./resources靠近应用程序二进制文件的位置。
    • 添加./resources到搜索路径QCoreApplication::addLibraryPath()(我不确定它是否会起作用)。
    • 玩弄一个qt.conf文件。再次不确定它是否会起作用。编辑:这确实有效。奇怪的是,如果文件被编译为 Qt 资源(如 中:/qt/etc/qt.conf),它不会,但如果你将文本文件放在应用程序二进制文件中,它会自动使用它。我的文件看起来很简单:

      [路径]
      数据 = ./resources

任何帮助都感激不尽!