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

Google maps 在Qt中显示网页的替代方法,google-maps,qwebview,qwebkit,Google Maps,Qwebview,Qwebkit,当我访问谷歌地图,这是一个简单的地图,例如,Chrome或Firefox,一切都是自然的。可以双击放大,可以拖动地图,也可以拖动街景模式图标 但是,当使用以下代码将此网页加载到QWebView对象中时,我没有鼠标拖动功能。例如,我不能拖动地图来更改它 QWebView view; view.setUrl(QUrl("https://google-developers.appspot.com/maps/documentation/javascript/examples/map-simple"));

当我访问谷歌地图,这是一个简单的地图,例如,Chrome或Firefox,一切都是自然的。可以双击放大,可以拖动地图,也可以拖动街景模式图标

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

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

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

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

[QTDIR]\demos\browser


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

QtWebkit有点问题,使用了非常旧的渲染引擎版本。这只能与早期版本的chrome或safari进行比较。 如果您只是计划在应用程序中提供网页的简单预览,那么您可以使用QWebEngine

它将为您提供更好的渲染效果(请参阅此链接)

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

知道这一事实,网页呈现在Qt中是一团糟的

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