主要問題: 一開始用的是在線的,都沒有什麼問題,自定義圖片均可以顯示,可是後面試了一下離線百度地圖,在qt中運行打開.html文件和在電腦上面直接雙擊打開此文件顯示是有差別的,在qt生成的程序中,地圖界面不能縮放,並且自定義的圖片也顯示不出來,而在電腦上面直接點開此文件一切都正常的。 (就很詫異)html
對了,還會提示「console」未定義 面試
最後找到了問題:若是電腦上安裝了IE8或者以後版本的IE瀏覽器,Webbrowser控件會使用IE7兼容模式來顯示網頁內容。解決方法是在註冊表中爲你的進程指定引用IE的版本號。
就是由於使用qt的QAxWidget控件,直接打開.html文件用的是低版本的ie內核因此會和在電腦上直接點開.html文件有差別;
解決辦法:
好比個人程序叫作untitled12.exe(debug文件內的程序文件名)
對於32位程序
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
對於64位程序
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
在對應的路徑下添加你程序名字,如untitled12.exe爲名的value,DWORD值。
值選項:
11000 0x00002af8(我電腦上面的ie瀏覽器版本爲11)瀏覽器
如圖:spa
續:debug
在解決上面那個問題後又出現新的問題,在使用qt和離線百度地圖交互時老是程序斷言,而後程序就直接退出,一直不知道什麼緣由,也是困擾了一天。(以下圖)htm
在百度上面搜索了很久,各類搜始終找不到解決辦法~~blog
而後看到Qt和百度地圖交互大多數在用QWebEngineView,我以前一直用的是QAxWidget控件來和百度地圖交互(雖然和在線地圖交互基本沒有多大問題,可是換成離線地圖問題就有點多了);因而我便換了QWebEngineView來與離線地圖進行交互,百度了一下也有不少例子;進程
QWebEngineView是不支持minGW的,因而我又在Qt內配置了MSVC2015的編譯器圖片
改一下代碼~get
果真,問題直接解決~~~
(小本本記下來,下次忘了來看看)