1

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

但是当这个网页用下面的代码加载到一个 QWebView 对象中时,我没有鼠标拖动能力。例如,我不能拖动地图来改变它。

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

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

4

2 回答 2

0

QtWebkit 有点像 Buggy,使用了非常旧版本的渲染引擎。只能与早期版本的 chrome 或 safari 进行比较。如果您只是打算在应用程序中提供一个简单的网页预览,您可以使用 QWebEngine。

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

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

该项目仍在开发中。并且仍然缺少许多功能,例如 js 注入等。

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

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

于 2014-03-02T13:09:35.213 回答
0

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

[QTDIR]\演示\浏览器

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

于 2013-07-31T02:31:14.970 回答