问题标签 [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.
qt - QT QWebEngineView:如何注入触摸事件(touchstart、touchmove、touchend)?
我想将“touchstart”、“touchmove”、“touchend”等触摸事件注入QWebEngineView。然后,我应该能够捕获在 webview 中运行的 html 页面中的事件,例如使用 jquery,如下所示:
我尝试按照此SO 答案中的说明使用 QMouseEvents并且它有效。但不是 QTouchEvents。
有什么建议么 ?
c++ - Qt QWebEngineView 不允许加载本地资源
编辑:这不是重复的。链接的问题处理一个 CORS 安全问题,其中浏览器不允许您从不同来源加载脚本。我的问题与基本资源加载方案(file:///
vsqrc:/
)有关。
我正在尝试使用该file:///
方案在 QWebEngineView 中加载本地 html 文档。html 文件还引用了本地存储的 jquery 库。加载页面的代码如下:
接下来是简约的 html 文档:
文档加载正常,但 JavaScript 失败并出现以下错误:
无论如何,如何强制 QWebEngineView 加载和执行脚本?
编辑:我按照@eyllanesc 的建议进行操作,并将我的所有文件添加为 qrc 资源。现在效果很好。
这是更新后的源代码(注意 C++ 和 HTML 代码中对 qrc 资源的引用):
以及对应的html文件:
python - 在 html 中为 PyQt5 网络引擎使用本地文件
我正在尝试将绘图图嵌入到 PyQt5 webengine 视图中。我能够使用以下方法做到这一点:
如果您阅读它,该文章解释说您在使用 webengine 视图时不能直接在 HTML 中包含 javascript(它在加载超过 2 MB 的文件时会出现问题)。但是,我正在尝试使 javascript 的源是 plotly-min.js 的本地副本(保存在项目文件夹中),以便使用该程序的任何人都不需要互联网连接来查看图表它生成。我试图在 html 上遵循一些示例,但无济于事。
可用于 Internet 连接的原始代码是:
如果我理解正确,我需要更改这部分:
我已经尝试过:
老实说,我不知道 HTML。这是代码中唯一的 HTML(其余在 Python 3 中)。有谁知道为什么上述可能不起作用以及我需要改变什么?我怀疑我可能会以某种方式遇到上述问题所引用的 2 MB 限制,因为我在网上找到的关于如何在 HTML 中引用本地文件的不同变体似乎并没有改变任何东西。
python - “全屏不可用”将 YouTube 视频作为 iframe 嵌入 QWebEngineView
我正在尝试在 QWebEngineView 中嵌入 youtube 视频,视频加载正常但全屏按钮被禁用,并显示此消息“全屏不可用”,即使嵌入代码确实具有“allowfullscreen”
代码片段:
c++ - Qt 如何获取发送者信号的发送者或如何知道 QWebEngineView 的 loadStarted url?
QWebEngineView 有信号 void loadStarted()。当它从 QWebEnginePage 接收到时,它会发出这个信号。QWebEnginePage 从 QWebEnginePagePrivate 覆盖了这个函数,它是 void loadStarted(const QUrl &provisionalUrl, bool isErrorPage = false),但在 QWebEnginePage 类参数中,provisionalUrl 标记为 Q_UNUSED(),但我想知道它的值。我该怎么做?
python - 有什么方法可以同步调用 QWebEnginePage 的对象“toHtml”方法?
我正在尝试从 QWebEnginePage 对象获取 html 代码。根据 Qt 参考,QWebEnginePage 对象的“toHtml”是异步方法,如下所示。
将页面内容检索为 HTML 的异步方法,包含在 HTML 和 BODY 标记中。成功完成后,将使用页面内容调用 resultCallback。
所以我试图找出如何同步调用这个方法。
我想要得到的结果如下。
c++ - 如何将 QWebEngineUrlRequestInfo 重定向到本地文件?
我有一个简单的 Qt 应用程序,可以在QWebEngineView
. 我想将url中带有“static”一词的所有http请求重定向到本地文件。使用WebUrlRequestInterceptor
我重新实现了该interceptRequest
方法。这是代码:
在主要功能中我做了
interceptRequest
似乎工作正常,但我收到一条消息。
不允许加载本地资源
我在网上搜索,我很多人都说我应该添加--disable-web-security
标志。所以我在我的.pro
文件中做了:
但这似乎不起作用。难道我做错了什么?有不同的解决方案吗?我可以制作自定义协议来提供本地文件并在 Qt 中重定向到它们作为解决方法吗?
我正在使用 Qt 5.9.1 和 QtCreator 4.3.1。
python - 在 QWebEngineView 中观看视频时无法使用全屏
使用 PyQt5 QWebEngineView,观看视频时无法使用 fullScreen:
python - PyQt5 QWebview 刷新问题
我使用 QWebEngineView 并将其设置为 HTML。当我显示它时,HTML 总是小于我给 QWebEngineView 的总面积。右键单击页面并单击“重新加载”始终可以解决问题,但我不希望最终用户每次都单击“重新加载”。我已经在网上搜索了重新加载的方法,发现:
不过,这与右键单击的方式不同。
如果它有助于阅读代码,它会将 Plotly 情节显示为 HTML 页面(长篇故事)。
我使用以下代码创建了它所在的小部件:
后来我使用:
在将堆叠小部件设置为所选图形后,我尝试使用重新加载代码,但就像我说的那样,它具有相同的结果。
有没有办法让页面做与右键单击相同的事情 - >重新加载?
编辑
作为对评论的回应,我用来生成 html 的代码来自这个(数据是我从 SQL 加载到其他地方的 pandas DataFrame,但我在这里包含了一个玩具 DataFrame):