标签: qwebkit

如何将基于Qt WebKit的应用程序的OpenSSL分发到Windows?

我有一个基于Qt QWebKit的应用程序,需要使用HTTPS与网页通信.我已经下载了QtSDK以及OpenSSL二进制文件(从这里开始).

我的问题在于部署我的应用程序.我已将相关的Qt DLL文件以及相关的OpenSSL DLL文件(libeay32.dllssleay32.dll)复制到我的应用程序目录中,但是当我尝试从我的应用程序中访问HTTPS网页时,它会失败!应用程序不会崩溃,但页面是空白的.常规HTTP页面工作得很好.

很明显,我在使用我的应用程序分发OpenSSL时出现了错误,我只是不确定我哪里出错了.

我真的不喜欢将OpenSSL安装程序与我的应用程序捆绑在一起.

windows qt openssl qwebkit

10
推荐指数
1
解决办法
2999
查看次数

如何获取python模块的路径(不是sys.executable)

我需要在python程序中获取Path for PyQt库.程序作为另一个应用程序的脚本运行,因此我的

sys.executable = 'D:/program files/visum/exe/visum115.exe
Run Code Online (Sandbox Code Playgroud)

我需要我的实际python路径(和PyQt库模块的路径)

Path = C:\Python25\Lib\site-packages\PyQt4\plugins
Run Code Online (Sandbox Code Playgroud)

我正在尝试

os.environ['PYTHONPATH']
Run Code Online (Sandbox Code Playgroud)

但我不确定它是否能够健壮.

问候!

PS.我需要它才能插入插件:

qApp.addLibaryPath('C:\Python25\Lib\site-packages\PyQt4\plugins')
Run Code Online (Sandbox Code Playgroud)

python pyqt path qwebkit

9
推荐指数
2
解决办法
1万
查看次数

使用QWebEngine渲染图像

我想QWebKitQWebEngine无头渲染器代替.我初始化页面load()并连接一个插槽loadFinished()以生成最终的.PNG图像.这曾经工作得很好,WebKit但失败了QWebEngine.

代码如下......

_webView = new QWebEngineView();

....

// Render the HTML to an image
QPainter painter(&image);
_webView->page()->view()->render(&painter);
painter.end();
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

"请求没有窗口句柄的窗口小部件的共享上下文""QOpenGLWidget:如果没有与toplevel共享的上下文,则不能使用".

有没有人有使用渲染屏幕的例子QWebEngine

qt headless-browser qwebkit qtwebengine

8
推荐指数
2
解决办法
3364
查看次数

如何让QWebKit显示图像?

好的,我在与文件相同的目录中有一个Qt可执行文件logo.png.

我打电话给以下人:

QString msg("<html><body><img src='logo.png' /></body></html>");

webView->setHtml(msg);
Run Code Online (Sandbox Code Playgroud)

这里webviewQWebKit指针

但是,当我执行程序时,图像不会显示.我正在从图像所在的目录执行程序... 为什么不显示?这让我疯了!

qt image qwebkit

7
推荐指数
2
解决办法
6233
查看次数

Qt 与 webRTC 如何实现

我需要将实时桌面屏幕数据(如远程桌面)传输到客户端应用程序浏览器,并且用户可以在浏览器中查看远程桌面,我正在考虑使用 webRTC 和 Qt 来实现它。我可以使用 webRTC 数据通道来传输桌面数据。唯一的问题是如何将其与QT接口。当我在互联网上查找时,我的方法很少。

  1. 使用原生c++ webRTC实现并与浏览器通信。我进行了大量搜索以获得一个可用的 C++ webRTC 应用程序,但无法成功运行。

  2. 使用 Qt webengine 和 java 脚本实现。我阅读了有关 Qt webkit 桥的文档,我希望我可以在 Qt C++ 部分和 Javascript 部分之间传递数据,而不会造成太多延迟。

而且我不确定是否存在任何好的方法。请建议我正确的方法。

c++ qt qwebkit webrtc

7
推荐指数
0
解决办法
2222
查看次数

如何关注QWebKit中的链接?

拥有以下html的DOM;

<a href="?op=order">
<img class="img_button" src="picture.gif"
  onMouseOver="this.src='some.gif';"
  onMouseOut="this.src='some_other.gif';"
  alt="" border="0">
</a>
Run Code Online (Sandbox Code Playgroud)

如何在QWebKit(特别是QWebPage)中关注链接(href).

请注意,这是一个链接的图像.
通过模拟鼠标点击我无法做到(我不想,即使我可以),因为我不使用QWebView,因此我没有渲染页面.

qt dom qwebelement qwebpage qwebkit

6
推荐指数
1
解决办法
6419
查看次数

如果从qresources加载html文件,QWebView不会加载任何外部资源

正如标题中所描述的,我的问题是qwebview如果它位于我的资源中,则不会正确加载html文件.如果我从资源外部加载它作为普通的本地文件,它会完美地加载它.但这对我来说不是一个选择.我想将文件与应用程序捆绑在一起.

编辑:顺便说一下,我正在谈论网络上的外部资源.(例如http://host.org/somejavascript.js)感谢您的帮助

javascript c++ qt qwebview qwebkit

6
推荐指数
1
解决办法
8108
查看次数

如何在QtWebKit中获得第一个重定向(301或302)事件

我们正在使用QtWebKit 4.7并想知道帧加载何时进行重定向.

目前我们在QNetworkAccessManager的子类中计算传出请求,我们在其中覆盖createRequest.

这在大多数情况下都很好用,但是当第一个响应是301或302(重定向)时,它会在某处被吞噬.

我们只需要通过以下方式请求网址:

QNetworkRequest request(QUrl("http://www.twitter.com")); // 301 to twitter.com
frame->load(request);
Run Code Online (Sandbox Code Playgroud)

qt qtwebkit qwebkit http-status-code-302 qt4.7

6
推荐指数
2
解决办法
3895
查看次数

页面上的打印错误(qtWebkit)

Qt5.2.1中的错误:

唯一的问题是纠正,QPrintPreviewDialog但当打印在纸上打印时,故障仍然存在.

随着QPrintPreviewDialog网页的工作完美,但"纸"(纸打印)从第二页"文本"和"图像"(无背景)消失(显然是错误只发生(即除第一个出现的BUG所有页面)内联元素).

请参阅:https: //bugreports.qt.io/browse/QTBUG-37240(请参阅测试用例的附件)


Qt5.0.1,Qt5.0.2和Qt5.1.0中的错误

打印带有小字体和图像的QWebView的第一页.

显然,只有内联元素(文本和图像)才会出现问题.

注意:该错误发生在Windows XP,Windows 7,Window 7 x64,Mac OS X 10.8.3中

[编辑]

Source-html:http://jsfiddle.net/bdm6Y/2/

框架内容:http://jsfiddle.net/bdm6Y/2/show/

ErrorPrint

资源:

QPrinter p;
p.setPaperSize(QPrinter::A4);
p.setFullPage(true);
p.setResolution(300);
p.setOrientation(QPrinter::Portrait);

QPrintPreviewDialog preview(&p);
preview.setWindowTitle(ui->myWebView->page()->mainFrame()->title());
connect(&preview, SIGNAL(paintRequested(QPrinter*)), this, SLOT(printPreview(QPrinter*)));
preview.exec();

...

void printPreview(QPrinter *printer) {
    ui->myWebView->print(printer);
}
Run Code Online (Sandbox Code Playgroud)

我不知道这是一个错误还是我做错了什么,它会是什么?

谢谢!

[编辑]

QT错误报告:

https://bugreports.qt.io/browse/QTBUG-30621

qt qwebview qwebkit qprinter

6
推荐指数
1
解决办法
1544
查看次数

如何使用QML在iOS和Android上以正确的方式显示网页内容

我想在iOS和Android上使用Qt 5.5开发和发布Qt/QML应用程序,我正试图找到一种在我的QML应用程序中显示简单Web内容(如Facebook登录页面)的方法.

我发现真正令人困惑的是,有多个类具有相似的名称但不适用于所有平台或缺少一些必需的功能.

这是我发现的选项:


选项1:WebView(QtWebView 1.0)

http://doc.qt.io/qt-5/qml-qtwebengine-webengineview.html

优点:

  • 适用于iOS
  • 适用于Mac OS X.

缺点:

  • 无法将其用于社交登录,因为我们缺少"将要加载的URL"信号,我们可以使用该信号来捕获成功的登录/错误.

选项2:WebView(QtWebKit 3.0)

http://doc.qt.io/qt-5/qml-qtwebkit-webview.html

优点:

  • 显然具有捕获社交登录所需的功能(onNavigationRequested(request))
  • 适用于OS X.

缺点:

  • 在iOS上不起作用.在尝试为iOS模拟器构建时,我得到:

QQmlApplicationEngine无法加载组件 http://badkitteh.local:8888/backend /:6模块"QtWebKit"未安装

我尝试添加webkitwebkitwidgets.pro没有成功的文件.(WTF?)


选项3:WebEngineView(QtWebEngine 1.0)

http://doc.qt.io/qt-5/qml-qtwebengine-webengineview.html

优点:

  • 适用于OS X.
  • 显然有必要的方法来捕获社交登录/错误(loadingChanged(loadRequest)).

缺点:

  • 需要QtWebEngine::initialize()在main()中调用.
  • 需要我手动添加webengineQT.pro文件中.这使得它在OS X上构建/启动但仍然不在iOS上.跆拳道?
  • 在iOS上不起作用:

QQmlApplicationEngine无法加载组件 http://badkitteh.local:8888/backend /:6模块"QtWebEngine"未安装


我还没有测试Android,但似乎这QtWebView是唯一适用于多个平台而不必使用单独的QML文件的东西.不幸的是,无法捕获URL更改/加载请求.

这令人沮丧.

我如何WebView在不使用外部库/工具等的情况下获得基于iOS和Android的应用程序内的简单社交登录?要么我在这里遗漏了一些东西,要么现在WebViewQML/Qt 的情况真的搞砸了.为什么有这么多选择?为什么UIWebViewiOS上没有简单的包装器和Android上的等效包装器?

android webview qml qwebkit qt5

6
推荐指数
1
解决办法
2543
查看次数