问题标签 [qwebpage]

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 回答
76 浏览

qt - 重新排序Qobject的连接队列

我有一个自定义的 QNetworkAccessManager 和一个 QWebPage 类,现在我想读取 QWebPage 检索到的每个请求的回复数据。

现在我连接了 finished() 信号,但是由于 QWebPage 先连接了它,并且 QWebPage 的第一个 finished() 插槽会从 QNetworkReply 对象中读取所有数据,因此 QNetworkAccessManager 中的插槽根本不会读取任何内容。

那么我可以“插入”一个连接到 QObject 的连接列表,而不是附加它吗?

0 投票
1 回答
200 浏览

c++ - QWebFrame setContent 减慢 GUI

QWebFrames我正在尝试在显示之前以一系列隐藏的方式预加载一些网页。但是,我发现setContenta 的方法QWebFrame会导致 GUI 变得无响应。

我尝试将实际的网络活动放在一个单独的线程中并将其提供给QWebFrameas a QByteArray,但这无济于事,让我相信是页面的绘制导致了 ~1.5 秒,非常明显减速。

我完全被难住了,我不知道该尝试什么,因为我不能将整个 web 框架放在它自己的线程中。

有没有人遇到过这个并有任何建议?

更新 我分析了应用程序并确认 setContent 是问题的根源。

更新 2 我使用英特尔 VTune 分析了应用程序。我发现 QWebKit 确实占用了超过 100% 的 CPU 时间。QWebSettings::handle 用法突然出现在我身上,因为它似乎使用了最多的资源,我可以确认它正在占用主线程。

在此处输入图像描述

0 投票
1 回答
218 浏览

c++ - Qt QWebPage 运行时 c++ 错误

我使用 Qt 5.0 + mingw 构建我的应用程序,我想使用“webkitwidgets”模块。我在 .pro 文件中添加

然后在我的代码中我创建了一个线程,我写了这个线程:

当调试器到达这一行时,我的调试终止并出现以下错误:

》Microsoft Visual C++ 运行时库

此应用程序已请求运行时以不寻常的方式终止它。请联系应用程序的支持团队以获取更多信息。”

所以我什至不能声明 QWebPage 类型的变量。为什么会发生这种情况,有没有办法解决它?

0 投票
1 回答
614 浏览

qt - 为什么无头 qwebpage 会抛出 sigsegv?

所以,我需要针对一个 html 页面(有点像我的应用程序的脚本)解析一些 javascript,但是当我尝试初始化它时,QWebPage 会抛出 SIGSEGV。它控制台应用程序。相关部分我的代码:

它在第一行崩溃。从 QWebPage 的文档中,从“在无小部件环境中使用 QWebPage”部分,看来这应该是可能的。但没有错误,只是 sigsegv :/

谢谢你的帮助。

0 投票
2 回答
833 浏览

c++ - 为什么一个qwebpage的测试内存一直在增加?

考虑:

执行此测试时,内存从大约 40 MB 增加到大约 700 MB。我的代码中似乎存在内存泄漏。但似乎所有对象都被删除了。为什么是这样?

0 投票
1 回答
1824 浏览

c++ - 从 C++ 访问 QML WebView

我有一个带有 webview 的 qml 文件。我在 C++ 中获得了对该对象的引用,但是 QObject* 我可以将它转换为类似于 QWebView 的东西,我可以从中获得 QWebPage 对象等等吗?如果我尝试 QWebView,qobject_cast<> 返回 NULL。它适用于转换为 QQuickItem 但这对我没有多大帮助。

谢谢

0 投票
1 回答
3131 浏览

python - 使用 QWebPage 抓取多个 url

我正在使用 Qt 的 QWebPage 来呈现使用 javascript 动态更新其内容的页面 - 因此仅下载页面静态版本的库(例如 urllib2)将不起作用。

我的问题是,当我渲染第二页时,大约 99% 的时间程序会崩溃。在其他时候,它会在崩溃之前工作三遍。我也遇到了一些段错误,但这都是非常随机的。

我的猜测是我用来渲染的对象没有被正确删除,所以尝试重用它可能会给我自己带来一些问题。我看了一遍,似乎没有人真的遇到同样的问题。

这是我正在使用的代码。该程序从 Steam 的社区市场下载网页,这样我就可以创建一个包含所有项目的数据库。我需要getItemsFromPage多次调用该函数来获取所有项目,因为它们被分成页面(显示 X 数量中的 1-10 的结果)。

调用getItemsFromPage一次就可以了。随后的电话给了我我的问题。程序的输出通常是

然后它崩溃了。它应该持续超过 700 页。

0 投票
1 回答
545 浏览

c++ - QT 和 window.open

我正在开发一个浏览器,它将支持标签。

但我有一个困难,QWebPage::createWindowwindow.open区分<a href="" targert="">

例如。:

被认为是相同的QWebPage::createWindow

如何区分两者?

什么时候window.open我会创建一个窗口,什么时候锚点会添加一个新标签。

0 投票
0 回答
146 浏览

qt - 如何使用 QWebPage 下载网页资源?

QWebPage加载页面时,它会发送对页面中所有对象(图像、js、css)的请求。我想将这些对象保存到单独的文件中,而不仅仅是在 QWebView 上显示它们。

如何从 QWebPage 使用的 QNetworkReply 中读取数据中所述?,每个对象的数据已经被QWebPage读取,并且程序在写入文件时一无所获。上面的链接建议实现一个QNetworkReply代理并在派生的QNetworkAccessManager类的createRequest方法中返回它。但是,我不清楚我应该在该 createRequest 方法中做什么或如何为QNetworkReply实现该代理。如果您有用于此目的的示例代码,那就太好了。

上面的链接建议了这个链接:QNetworkReply 的代理。但出于其他目的,它似乎是一个复杂的类,正如我所说,我不知道如何在createRequest方法中使用它。

0 投票
1 回答
1600 浏览

qt - 使用 QWebFrame 将 HTML 渲染到 QImage/QPicture

我正在尝试使用没有 QWebView 的 QWebPage/QWebFrame 将 html 数据渲染到 qimage 或 qpicture:

结果图像为空白。QWebFrame::print 确实会生成正确的 PDF 文件。

我需要做什么才能使 html 正确呈现?