在Qt中显示网页的替代方法

时间:2012-08-27 08:36:55

标签: google-maps qwebview qwebkit

当我访问this webpage时,这是一张来自谷歌地图的简单地图,例如Chrome或Firefox,一切都很自然。您可以双击放大,您可以拖动地图,然后拖动街景模式图标。

但是当使用以下代码将此网页加载到QWebView对象中时,我没有鼠标拖动功能。所以例如我无法拖动地图来改变它。

QWebView view;
view.setUrl(QUrl("https://google-developers.appspot.com/maps/documentation/javascript/examples/map-simple"));
view.show();

到目前为止我找不到任何解决方案。有没有其他方法可以在Qt小部件中显示网页?

2 个答案:

答案 0 :(得分:0)

Qt中已有一个示例浏览器提供此功能:

  

[QTDIR] \演示\浏览器

我不确定这包括多长时间,但肯定是4.8。它实现了一个相当完整的浏览器,但您感兴趣的代码位于webview.cpp文件中。这包装了QWebView并演示了如何实现鼠标事件,点击,下载等。

答案 1 :(得分:0)

QtWebkit是一种Buggy,使用的是旧版本的渲染引擎。它只能与早期版本的chrome或safari进行比较。 如果您只是想在应用程序中简单预览网页,可以使用QWebEngine。

它会给你更好的渲染(参考这个链接)

http://qt-project.org/wiki/QtWebEngineHowToTry

该项目仍在开发中。许多功能如js注入等仍然缺失。

知道这个事实网页渲染在Qt中是一团糟。

(如果没有任何作用,你可以完全放弃Qt并尝试Mozilla XUL,它有一个非常好的网页布局引擎“Gecko”)