在使用QtWebKit时,如何知道一个网页何时被加载?
QWebFrame和QWebPage具有void loadFinished(bool ok)信号,可用于检测网页何时完全加载.问题是当网页上有一些异步加载的内容(AJAX).在这种情况下,如何知道该页面何时完全加载? 解决方案 我实际上还没有这样做,但是我认为您 May 可以使用QNetworkAccessManager. 来实现您的解决方案 您可以使用 networkAccessManager(networkAcccessmanager) networkAccccessManager() . QnetworkAccessManager有一个信号完成(qnetworkreply * reply * where ne a diend where afe afe a r>由qwebpage实例请求. finished信号为您提供了一个qnetworkreply的实例,您可以从中获取原始请求的副本,以识别请求. 因此,创建一个插槽以连接到finished信号,请使用传递
8 2024-03-18
编程技术问答社区
如何使用 Yocto 在 SBC 上安装和运行 QML QtWebEngine 和 QtWebKit / 无法从任何来源获取 URL
环境 debian gnu/linux 7.8(wheezy)Linux marvin 3.16-0.bpo.2-amd64 #1 SMP Debian 3.16.3-2~bpo70+1 (2014-09-21) x86_64 GNU/Linux 覆盆子Pi 2 Yocto Poky QT5 我的目标是在RPI2 上运行铬布局Web引擎 我希望能够在我的rpi2上运行它: import QtQuick 2.1 import QtQuick.Controls 1.1 import QtWebEngine 1.0 ApplicationWindow { width: 1280 height: 720 visible: true WebEngineView { id: webview url: "http://www.qt-project.org" anchors.fill: pare
14 2023-12-25
编程技术问答社区
wkhtmltopdf: 是否可以合并PDF文件?
使用此库 wkhtmltopdf ,是否有可能合并2个PDF文件.我需要生成报告,并将报告与一些随附的文档合并. 已完成报告的生成,从HTML转换为PDF.但是我需要将结果PDF与其他一些PDF合并 解决方案 wkhtmltopdf不提供合并PDF的支持.您可以使用GhostScript来完成此操作.这是一个非常强大的工具,经常由Linux用户使用. 您可以使用以下命令: gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=out.pdf in1.pdf in2.pdf 您可以尝试这些链接以进行进一步阅读: 如果您想要Linux,请参阅 编辑: @nenotelp所述,还有其他可用的工具. @Nentelp提到的部分是关于以iText或iTextSharp更好的书签处理.如果这是您的要求,您当然可以选择其他工具. P.S. - Google Ghostscript.您会发现大量参考.
30 2023-12-10
编程技术问答社区
如何禁用 QML WebView 中的渲染?
我目前正在构建一个使用QML WebView(import QtWebKit 3.0)的应用程序.用户需要经常调整WebView的大小(我使用QML SplitView),但是,每当调整应用程序窗口时,这都会导致UI极大地滞后.有什么方法可以防止这种情况吗? 解决方案 而不是更改width和height属性scale scale的属性WebView 的属性 在调整大小的开始时,保存width和height的初始值. 在调整大小上不要更改width和height.取而代 当调整大小末端时 编辑: 由于您无法控制width和height属性,因此可以将Rectangle替换为Rectangle,将颜色设置为"transparent".然后,您可以将WebView放在Rectangle上,然后观看width和height Rectangle的变化. 现在有两件事. 如果您不知道何时开始调整大小,并且何时结束使用Timer例如100ms的间隔.重新启动Timer和
12 2023-12-03
编程技术问答社区
从 webviews Javascript 调用 C++ 方法
在qt4 qml中,qtwebkit 1.0组件WebView具有属性javaScriptWindowObjects.我用它将JavaScriptWindowObjects添加到我的网页JavaScript的上下文中,以调用C ++功能.喜欢 WebView{ url: "http://test.com" anchors.fill: parent scale: 1.0 javaScriptWindowObjects: QtObject { WebView.windowObjectName: "native" function foo(x, y) { console.log("This is a call from javascript"); myCppHandler.fooNative(b,c); } } } 所以我可以从网页java
10 2023-12-03
编程技术问答社区
如何通过Qt创建一个网络服务
我正在寻找一个工具或插件,可以帮助我创建Web服务,就像DOT NET对Linux一样. 解决方案 来自所涉及的OP编辑: 搜索后,我发现QT没有任何东西要写网络 服务 gsoap 是一个开源解决方案,目前我们使用 它. 其他解决方案 看 libqxt .这是构建和使用Web服务的框架.
30 2023-12-02
编程技术问答社区
Qt webkit widget错误
我设法让QMake编译WebKit的.pro文件并尝试制作一个基本的浏览器窗口,它只是构建,但以下错误会弹出? Auto configuration failed 8744:error:02001015:system library:fopen:Is a directory:.\crypto\bio\bss_file.c:126:fopen('g:/test/openssl098u/openssl.cnf','rb') 8744:error:2006D002:BIO routines:BIO_new_file:system lib:.\crypto\bio\bss_file.c:131: 8744:error:0E078002:configuration file routines:DEF_LOAD:system lib:.\crypto\conf\conf_def.c:199: QMutex: destroying locked mutex 解决方案 我通过安装op
6 2023-12-01
编程技术问答社区
如何在Qt Creator中编辑QtWebKit'的右键菜单?
好吧,这是我的dillema.我正在使用QT Creator制作一个简单的应用程序,该应用程序利用WebKit.我认为QT创建者将有一种简单的方法来编辑带有信号和老虎机编辑器的右键单击上下文菜单,但事实证明这不是正确的.我知道Webkit有与上下文菜单有关的类,但是我不知道如何通过QT Creator访问它们. 我需要编辑上下文菜单的"新窗口中的打开链接"部分,以便在遵循链接时将我的应用程序打开在新窗口中,但是正如我之前所说,我想不出一个在不从源中编译经过修改的QTWebkit的情况下进行编辑的方法,这将很痛苦. 任何答案都将不胜感激,如果有任何区别,我主要是C#/.网络开发人员,我已经开始使用QT和C ++. 解决方案 Qwidget :: ContextMenueVent(Qcontextmenuevent * event)是"虚拟受保护的"功能. 您可以继承QWEBVIEW,然后覆盖" ContextMenueVent". 其他解决方案 如果您需要的只
12 2023-12-01
编程技术问答社区
如何将Qt WebKit中的网页另存为��另存为完整网页��
我需要使用QT WebKit保存网页,类似于"另存为完整的网页" . 以下是我的要求, 保存索引HTML文件,维护实体编码. 需要下载所有链接的图像和其他资源. 需要将HTML页面中的资源路径更改为本地下载路径. 需要维护网页当前状态. 我可以使用qt和javaScript执行此操作. 请为此提供一些输入. 谢谢 解决方案 您可以使用HTML解析器来解析当前页面,然后查找所有图像(xpath"//img"),下载其文件并更改其SRC属性. 其他解决方案 在需要时将HTML保存到本地系统并致电Sethtml()?
24 2023-12-01
编程技术问答社区
如何从浏览器缓存中删除图片
在我的Web应用程序中,我有大量的缩略图,用户可以从原始图像中选择缩略图和客户端候选程序来重新创建新的缩略图. 很好,在我的应用中,我只是将新创建的图像立即设置为图像源,而无需从服务器重新加载,然后将新图像上传到服务器.这是为了确保一种反应迅速的感觉.问题是,当用户刷新页面时,他看到了缩略图的旧版本. 我知道我可以使用一些image.jpg?woryimestamp,以确保浏览器必须下载新版本的缩略图,但是正如我所说,即使在小型和慢速的Internet连接上,该应用程序也必须非常响应. (这就是为什么该应用程序本身存储在用户的计算机上而未实时下载的原因.只有上传,下载和JSON正在传输) 理想的解决方案是能够告诉浏览器:从您的缓存中删除此特定文件:someurl.com/somefolder/image.jpg,以便浏览器在需要时必须再次获取它.这是可能的吗? 因此,我不问如何不缓存文件或如何强制重新验证每个调用,我问我如何从浏览器的缓存中删除某些特定文件.
22 2023-12-01
编程技术问答社区
casper.js中的setting和this.wait
我需要在每次迭代之间进行 3次和2秒的循环.我尝试了这3个选项: 选项1 var casper = require('casper').create({ verbose: false, logLevel: 'debug' }); casper.start("http://google.com"); casper.on('remote.message', function(msg) { this.echo('remote message caught: ' + msg); }) casper.thenEvaluate(function() { var x = 0; var intervalID = setInterval(function () { console.log("Using setInternal " + x); if (++x === 3) { window.cle
6 2023-12-01
编程技术问答社区
Qt4: 如何通过QtWebkit从C++中调用页面中的JavaScript函数?
我正在尝试使用QT4的WebKit端口/实现来编写一个简单的日志查看器.我的HTML代码看起来像这样: http://pastie.org/613296 更具体地说,我正在尝试找出如何调用add_message()函数,该函数在我的C ++代码中在HTML文档中的部分中定义了. // Doesn't work: QWebElement targetElement = chatView->page()->mainFrame()->findFirstElement("head").firstChild("script"); // Function is not included, either... qDebug()
32 2023-12-01
编程技术问答社区
通过Qt Webkit加载特定网站的问题
我目前正在使用以下PYQT代码来创建一个简单的浏览器: import sys from PyQt4.QtCore import * from PyQt4.QtGui import * from PyQt4.QtWebKit import * app = QApplication(sys.argv) web = QWebView() web.load(QUrl("http://www.robeez.com")) web.show() sys.exit(app.exec_()) Google.com或Stackoverflow.com之类的网站工作正常,但是Robeez.com却没有.有Webkit经验的人是否知道可能出了什么问题? Robeez.com在诸如Chrome或Firefox之类的常规浏览器中工作正常. 解决方案 尝试其他解决方案 出于某种原因.com确实有效. 在某些情况下,rebeez.com发送了一个空白索引. QT45演示浏览器没有什么.因此,是浏览
6 2023-12-01
编程技术问答社区
Qt/webkit和Flash
我已经在XP上安装了PYQT 4.8.1,在包装中安装了QT.我有一个标签 但是QT/WebKit不会显示Flash. (代码和IE或Chrome没有问题). QT/WebKit支持Flash吗? 解决方案 您要做的就是启用插件.请参阅python特定的QT示例,但在C ++中,请参见此类. qwebpage *webpage = ... webpage-> settings() - > setAttribute(qwebsettings :: pluginSeNabled,true); 插件由NPAPI加载 http://en.wikipedia.org/wiki/npapi 其他解决方案 使用ac_runactivecontent.js.对于嵌入闪光灯,它在所有浏览器中都可以使用.这是
24 2023-12-01
编程技术问答社区
是否可以在启用webkit的情况下建立静态Qt库?怎么做呢?
我尝试使用以下命令构建静态QT库: ./configure --prefix=/usr/local/qt --static --accessibility --multimedia --audio-backend --svg --webkit --javascript-jit --script --scripttools --declarative --dbus --debug 但我收到一条消息说: WARNING: Using static linking will disable the WebKit module. 可以启用所有模块构建静态QT库吗?以及如何? 谢谢 解决方案 对于QT 4.8.3,我必须修补.pro文件以制作单个QTwebkit,而不是单独的WebKit和JavaScriptCore库.链接器会感到困惑,因为两个库之间存在相互依存关系. 不确定类似方法是否适用于您的QT 4.7.1. 我不会提及许可问题. dif
10 2023-12-01
编程技术问答社区
在Ruby中从Capybara运行时,webkit_server会定期挂起。
我遇到了一个问题,其中webkit_server的实例与Capybara和Capybara-Webkit无头连接到本地XVFB屏幕时,访问URL时挂起.在反复访问不同的URL并执行发现器的几分钟后,这似乎发生了. (我正在使用Capybara用于香草Ruby中的屏幕刮擦应用程序,而不是进行测试.) 我已经确认,当它悬挂时,该站点仍然可以访问(例如,通过命令行上的卷曲或WGET).我还尝试包装Ruby代码,该代码在超时块中调用访问和后续查找器,以便在等待新的60秒后访问了一个新的URL,但是任何访问()尝试在第一次发生后失败.解决该问题的唯一方法是杀死Ruby Process,调用Capybara/Capybara-Webkit和WebKit_Server进程并重新启动. 当我跨越webkit_server进程时,我反复看到这样的输出: clock_gettime(CLOCK_MONOTONIC, {5821, 680279627}) = 0 gettimeofday({
18 2023-12-01
编程技术问答社区
如何在QWebView中使用Javascript来创建基于C++的类的新实例?
我已经成功地将C ++对象添加到了QwebFrame,并使用 但是我真正想做的是让其中一个插槽返回一个新对象.例如,我有一个类似的插槽,它返回一个qobject派生的类实例: MyObject* MyApp::helloWorld() { //MyObject is dervied from QObject return new MyObject(); } 我可以成功地从JavaScript称呼此插槽 var foo=myapp.helloWorld(); 但是foo似乎是空的,我无法调用任何插槽或访问任何插槽 javaScript上的属性. 关于我如何实现这一目标的任何想法? 解决方案 我考虑过的一个相当丑陋的黑客是使用AddTojavascriptWindowObject删除我想用随机名称返回窗口对象的对象,然后让我的插槽返回对象实例的名称: QString MyApp::hello
14 2023-12-01
编程技术问答社区
完全支持java的无头浏览器
我一直在使用HTMLUNIT(开发人员做得很好)作为我以前的某些应用程序的无头浏览器,但是JavaScript支持对某些网站不起作用,我的下一个应用程序将访问. 我听说过qtwebkit绑定了Python的绑定,但我的应用程序将在Java中,或者是否有Java绑定了WebKit或Qtwebkit? 有谁知道有完整JavaScript支持的Java的好无头浏览器? 解决方案 Nathan Ridley对另一个类似问题的回答是到目前为止我发现的最完整的问题. 无论如何,如果一切都失败了,则可以使用Python或JS替代方案,将其funcionality作为服务器内部的WebService公开,然后您的Java应用程序可以通过WebService使用无头浏览器的Funcionality.设置会很痛苦,但是如果没有其他选择,这可能是可行的选择. 另外,有一些Java 有一些"非脱头"浏览器包装器;也许可以根据要求围绕这些解决方案构建测试解决方案. 其他解决方案
28 2023-11-30
编程技术问答社区
GUI应用中的Web技术
您在使用Web Technologies(HTML,XML,CSS,JavaScript)中实现GUI应用程序功能的一部分经验是什么?请给予利弊. 没有服务器,关系数据库,AJAX或Cookie用于会话管理,也没有现有的WebApp,而是使用Web小部件的GUI应用程序(例如 qt webkit )渲染和处理UI的大量部分,同时利用GUI框架来实现更丰富的交互,并更好地互动. 我已经验证了使用PYQT可以使用该方法.内容可以从文件系统或字符串中渲染,并且可以捕获表单的事件处理程序并提供URL请求(图像或点击).支持CSS和JavaScript,也许有一些局限性. # ... self.webView.page().setLinkDelegationPolicy( QtWebKit.QWebPage.DelegateExternalLinks ) #... class To
14 2023-11-11
编程技术问答社区