QWebView加載網頁


開發環境:win10家庭中文版,vs2013,qt5.5.1

目的:使用webkit加載web頁面代碼如下:

#include

#include

#ifdef _DEBUG#pragma comment(lib, "Qt5WebKitWidgetsd.lib")

#pragma comment(lib, "Qt5WebKitd.lib")

#else

#pragma comment(lib, "Qt5WebKitWidgets.lib")

#pragma comment(lib, "Qt5WebKit.lib")

#endifm_WebView = new QWebView(this);  

QWebSettings * settings = m_WebView->settings();
QWebSettings::globalSettings();   
settings->setAttribute(QWebSettings::PluginsEnabled, true);  
settings->setAttribute(QWebSettings::JavaEnabled, true);  
settings->setAttribute(QWebSettings::JavascriptEnabled, true);
settings->setAttribute(QWebSettings::JavascriptCanOpenWindows, true);
settings->setAttribute(QWebSettings::JavascriptCanAccessClipboard, true);   
settings->setAttribute(QWebSettings::DeveloperExtrasEnabled, true);  
settings->setAttribute(QWebSettings::SpatialNavigationEnabled, true);  
settings->setAttribute(QWebSettings::LinksIncludedInFocusChain, true);
settings->setAttribute(QWebSettings::AcceleratedCompositingEnabled, true);
settings->setAttribute(QWebSettings::AutoLoadImages, true);

編譯程序,使用dependency檢測依賴動態庫庫,然后啟動程序,加載網頁一切正常,當加載視頻和音頻時出現異常,騰訊視頻出現圖1所示情況,愛奇藝 和優酷視頻出現情況如圖2,經過各種嘗試,最終發現需要在exe同級目錄下放置plugins文件夾,文件夾底下放置flash動態庫 (NPSWF32.dll),或者自己下載一個動態庫安裝,這個動態庫是firefox的flash player,測試結果如圖3

圖1騰訊視頻
圖2 愛奇藝測試結果
圖3下載flash插件

上圖3中的測試結果是在win7虛擬機上測試結果,win10上安裝firefox的flash插件測試結構和上圖一樣

順道說句:QT插件庫(新增庫,路徑必須正確),根據不同的程序,需要不同的插件庫例如:1、使用QMediaPlayer需要添加plugins目錄下的mediaservice文件夾下的動態庫2、使用除png外其他圖片文件時,需要保護相應的圖片插件動態庫


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM