2012-08-27 24 views
1

當我訪問this webpage(這是一幅來自Google地圖的簡單地圖,例如Chrome或Firefox)時,一切都很自然。您可以雙擊放大,您可以拖動地圖,然後拖動街景模式圖標。在Qt中顯示網頁的替代方法

但是,當使用下面的代碼將此網頁加載到QWebView對象中時,我沒有鼠標拖動功能。例如,我不能拖動地圖來改變它。

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

到目前爲止我還找不到任何解決方案。是否有任何其他方式來顯示在Qt小部件中的網頁?

回答

0

有已經在Qt的一個樣本瀏覽器提供此功能:

[QTDIR] \演示\瀏覽器

我不知道多久,這已被列入,但它肯定在4.8。它實現了一個相當完整的瀏覽器,但您感興趣的代碼位於文件webview.cpp中。這包裝了QWebView並演示瞭如何實現鼠標事件,點擊,下載等。

0

QtWebkit是一種Buggy,使用了一個非常舊的渲染引擎版本,它只能與早期版本的chrome或safari進行比較。 如果您只是計劃在應用程序內簡單預覽網頁,則可以使用QWebEngine。

它會給你更好的渲染(參見以下鏈接)

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

該項目仍處於開發階段。而許多功能,如JS注射等人仍下落不明。

知道這個事實Qt中網頁渲染是一團糟。

(如果沒有任何作品可以完全放棄Qt並嘗試使用Mozilla XUL,它具有非常好的網頁佈局引擎「Gecko」)