当我访问this webpage时,这是一张来自谷歌地图的简单地图,例如Chrome或Firefox,一切都很自然。您可以双击放大,您可以拖动地图,然后拖动街景模式图标。
但是当使用以下代码将此网页加载到QWebView对象中时,我没有鼠标拖动功能。所以例如我无法拖动地图来改变它。
QWebView view;
view.setUrl(QUrl("https://google-developers.appspot.com/maps/documentation/javascript/examples/map-simple"));
view.show();
到目前为止我找不到任何解决方案。有没有其他方法可以在Qt小部件中显示网页?
答案 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”)